SQL精华应用

2015-07-24 12:17:15 · 作者: · 浏览: 68

【精确到纳秒的时间函数】

SYSDATETIME()、SYSUTCDATETIME() ---- 精确程度取决于运行 SQL Server 实例的计算机硬件和 Windows 版本

【生成18位纯数字的ID】

1. select REPLACE(REPLACE(REPLACE(REPLACE(CONVERT(varchar(24),SYSDATETIME()), ' ',''), '-',''), ':',''), '.','') ---- 纳秒截取18位

2. select SUBSTRING(REPLACE(REPLACE(REPLACE(REPLACE(CONVERT(varchar(27),SYSDATETIME()), ' ',''), '-',''), ':',''), '.',''),1,18) ---- 纳秒截取18位

3. select REPLACE(REPLACE(REPLACE(REPLACE(CONVERT(varchar(23),GETDATE(),121), ' ',''), '-',''), ':',''), '.','') + CAST(CEILING(RAND()*9) AS VARCHAR) ---- 毫秒加一位随机数

【生成20位纯数字的ID】

1. select REPLACE(REPLACE(REPLACE(REPLACE(CONVERT(varchar(26),SYSDATETIME()), ' ',''), '-',''), ':',''), '.','') ---- 纳秒截取20位

2. select SUBSTRING(REPLACE(REPLACE(REPLACE(REPLACE(CONVERT(varchar(27),SYSDATETIME()), ' ',''), '-',''), ':',''), '.',''),1,20) ---- 纳秒截取20位