【精确到纳秒的时间函数】
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位