SQL语法使用:笔记(二)
例三:(CONVERT的使用)
①时间各种格式
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(), 131);--21/04/1439 6:16:05:290PM
② Datetime 转换 varchar
Select CONVERT(VARCHAR,CONVERT(varchar(100), GETDATE(), 14))
③varchar 转换 INT
select CONVERT(INT,TotalQty)
④时间 转换 周数
SELECT CONVERT(VARCHAR,datepart(wk,QTime))
⑤时间 转换 月份
SELECT CONVERT(VARCHAR,QTime,112)
⑥INT 转换 FLOAT(以下转换FLOAT保留小数点再转换为varchar)
SELECT CONVERT(VARCHAR,(ROUND( convert(FLOAT,PassQty)
额,不举例子了,相信你看完第一个就知道怎么使用CONVERT函数了
例四(将查询出来的数据按照顺序Show出)
当然有规律的栏位数据可以使用 ORDER BY ....进行排序,但是没有规律的 ORDER BY函数就起不到作用了,比如下面这组数据,需要将Description栏位按照需求排列
思路:①Description栏位是没有规律的,那就找寻其对应的唯一栏位
②利用Id栏位一一对应的唯一性
③使用函数identity重新定义主键ID栏位
④使用函数CHARINDEX排序Id栏位
语法:以下是根据当时工作需求进行排序
SELECT Description,identity(int,1,1)as ID FROM CTO..WC WHERE Id IN ('347','341','343','653','571','348','350','563','396','486','345','481','370','365','382','368','373','650','540','632','372','369','374')
ORDER BY CHARINDEX(','+CONVERT(VARCHAR,Id)+',',',347,341,343,653,571,348,350,563,396,486,345,481,370,365,382,368,373,650,540,632,372,369,374,')
结果: