SQL语句——“制杖”SQLServer

时间函数:

    DATEPART([YEAR], date)  //获取时间的年

    DATEPART([MONTH], date)  //获取月

    CONVERT([TIME], date)  //获取时间 hh:mm:ss
    
    CONVERT(转换类型,字段,格式)  转换类型为 varchar 等,格式如下:

      100   mm dd yyyy

      101   mm/dd/yyyy

      102   yyyy.mm.dd

      103   dd/mm/yyyy

      106   dd mm yyyy

      108   hh:mi:ss(时间)

      111   yyyy/mm/dd

      112   yyyymmdd

      120   yyyy-mm-dd

      DATENAME(datepart, date)

    datepart参数:

      年  yy,yyyy

      月  mm,m

      日  dd,d

      季度  qq,q

      年中的日  dy,y

      小时  hh

      分钟  mi,n

      秒    ss,s

      毫秒  ms

      微秒  mcs

      纳秒  ns

      周   wk,ww

      星期  dw,w

 

 

Select CONVERT(varchar(100), GETDATE(), 0);--01  8 2018  5:50PM
Select CONVERT(varchar(100), GETDATE(), 100);--01  8 2018  5:50PM
 
Select CONVERT(varchar(100), GETDATE(), 1);--01/08/18
Select CONVERT(varchar(100), GETDATE(), 101);--01/08/2018
 
Select CONVERT(varchar(100), GETDATE(), 2);--18.01.08
Select CONVERT(varchar(100), GETDATE(), 102);--2018.01.08
 
Select CONVERT(varchar(100), GETDATE(), 3);--08/01/18
Select CONVERT(varchar(100), GETDATE(), 103);--08/01/2018
 
Select CONVERT(varchar(100), GETDATE(), 4);--08.01.18
Select CONVERT(varchar(100), GETDATE(), 104);--08.01.2018
 
Select CONVERT(varchar(100), GETDATE(), 5);--08-01-18
Select CONVERT(varchar(100), GETDATE(), 105);--08-01-2018
 
Select CONVERT(varchar(100), GETDATE(), 6);--08 01 18
Select CONVERT(varchar(100), GETDATE(), 106);--08 01 2018
 
Select CONVERT(varchar(100), GETDATE(), 7);--01 08, 18
Select CONVERT(varchar(100), GETDATE(), 107);--01 08, 2018
 
Select CONVERT(varchar(100), GETDATE(), 8);--18:02:28
Select CONVERT(varchar(100), GETDATE(), 108);--18:02:28
 
Select CONVERT(varchar(100), GETDATE(), 9);--01  8 2018  6:03:22:663PM
Select CONVERT(varchar(100), GETDATE(), 109);--01  8 2018  6:03:22:663PM
 
Select CONVERT(varchar(100), GETDATE(), 10);--01-08-18
Select CONVERT(varchar(100), GETDATE(), 110);--01-08-2018
 
Select CONVERT(varchar(100), GETDATE(), 11);--18/01/08
Select CONVERT(varchar(100), GETDATE(), 111);--2018/01/08
 
Select CONVERT(varchar(100), GETDATE(), 12);--180108
Select CONVERT(varchar(100), GETDATE(), 112);--20180108
 
Select CONVERT(varchar(100), GETDATE(), 13);--08 01 2018 18:08:32:910
Select CONVERT(varchar(100), GETDATE(), 113);--08 01 2018 18:08:32:910
 
Select CONVERT(varchar(100), GETDATE(), 14);--18:09:28:673
Select CONVERT(varchar(100), GETDATE(), 114);--18:09:28:673
 
Select CONVERT(varchar(100), GETDATE(), 20);--2018-01-08 18:10:02
Select CONVERT(varchar(100), GETDATE(), 120);--2018-01-08 18:10:02
 
Select CONVERT(varchar(100), GETDATE(), 21);--2018-01-08 18:11:36.033
Select CONVERT(varchar(100), GETDATE(), 121);--2018-01-08 18:11:36.033
--下面的没有相对应的了
Select CONVERT(varchar(100), GETDATE(), 22);--01/08/18  6:14:32 PM
Select CONVERT(varchar(100), GETDATE(), 23);--2018-01-08
Select CONVERT(varchar(100), GETDATE(), 24);--18:14:57
Select CONVERT(varchar(100), GETDATE(), 25);--2018-01-08 18:14:57.663
 
Select CONVERT(varchar(100), GETDATE(), 126);--2018-01-08T18:16:05.290
Select CONVERT(varchar(100), GETDATE(), 130);--21 ???? ?????? 1439  6:16:05:290PM
Select CONVERT(varchar(100), GETDATE(), 131);--21/04/1439  6:16:05:290PM

 

 

 

WHEN语句:

CASE tableField
    WHEN value THEN other_tableField
    ELSE tableField
END

//可接多个WHEN,取别名时,用括号包含整个语句

 关键字:

     去重          DISTINCT 

分区查询、按列分组、并给予行号:

    ROW_NUMBER() OVER (PARTITION BY 分组列名 ORDER BY 排序列名) AS rowNum  

 最傻逼的点:

  查询中如果有字段用函数了,而别的字段没用函数,就会报错

  必须要把其它的字段也用 函数 或者 放在 GROUP BY 子句中

 

 

 

 

 

 

 

 

                Leslie Cheung 随笔

posted @ 2023-08-02 09:46  Leslie_Cheung  阅读(3)  评论(0编辑  收藏  举报