SQLSERVER基本技巧--系统内置函数
字段类型互转
-
字符串转DATETIME类
-- 将时间字符串转换为DATETIME类 -- 基础: 20210101 =>输出:2021-01-01 00:00:00.000 SELECT CONVERT(DATETIME, '20210101') SELECT CONVERT(DATETIME, '2021-01-01') -- 复杂: 长日期时间字符串 '20210101082056' =>输出:2021-01-14 08:20:56.000 DECLARE @DT VARCHAR(20)= '20210101082056' SELECT CONVERT(DATETIME,CONVERT(CHAR(10),CONVERT(DATETIME, LEFT(@DT,8),112),120)+' '+SUBSTRING(RIGHT(@DT,6),1,2)+':'+SUBSTRING(RIGHT(@DT,6),3,2)+':'+SUBSTRING(RIGHT(@DT,6),5,2)) -
DATETIME型转字符串
--最常用 SELECT CONVERT(CHAR(8),GETDATE(),112) --20200101 SELECT CONVERT(CHAR(10),GETDATE(),120) --2020-01-01 -
数值型转为字符串
SELECT CONVERT(VARCHAR(50), CAST(111111.11 AS MONEY),1) --带千分位的数字文本: 111,111.11
其他
- 获取随机数
-- 生成1-10000范围内的随机数(0-9999范围内就用floor()) select cast(ceiling(rand() * 10000) as int) select cast(ceiling(rand(checksum(newid()))*10000) as int) --基本同上,但是在批量更新时更合适

浙公网安备 33010602011771号