SQL精华应用

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

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位



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。