SQL 日期时间函数

  

  

  Sqlserver中经常要操作一些时间类型的字段转换,我又不太记得住,记在这里方便自己以后要用的时候寻找,望对大家也有帮助.

  

  MS SQL Server中文版的预设日期datetime格式是yyyy-mm-dd hh:mm:ss.mmm
 

长短日期格式
--短日期格式:yyyy-m-d
SELECT REPLACE(CONVERT(varchar(10),getdate(),120),N'-0','-')

--长日期格式:yyyy年mm月dd日 
SELECT STUFF(STUFF(CONVERT(char(8),getdate(),112),5,0,N''),8,0,N'')+N''

--短日期格式:yyyy年m月d日
SELECT DATENAME(Year,getdate())+N''+CAST(DATEPART(Month,getdate()) AS varchar)+N''+DATENAME(Day,getdate())+N''

--完整日期+时间格式:yyyy-mm-dd hh:mi:ss:mmm
SELECT CONVERT(char(11),getdate(),120)+CONVERT(char(12),getdate(),114)
CONVERT
Select CONVERT(varchar(100), GETDATE(), 0) : 05 16 2006 10:57AM 
Select CONVERT(varchar(100), GETDATE(), 1) : 05/16/06 
Select CONVERT(varchar(100), GETDATE(), 2) : 06.05.16 
Select CONVERT(varchar(100), GETDATE(), 3) : 16/05/06 
Select CONVERT(varchar(100), GETDATE(), 4) : 16.05.06 
Select CONVERT(varchar(100), GETDATE(), 5) : 16-05-06 
Select CONVERT(varchar(100), GETDATE(), 6) : 16 05 06 
Select CONVERT(varchar(100), GETDATE(), 7) : 05 1606 
Select CONVERT(varchar(100), GETDATE(), 8) : 10:57:46 
Select CONVERT(varchar(100), GETDATE(), 9) : 05 16 2006 10:57:46:827AM 
Select CONVERT(varchar(100), GETDATE(), 10) : 05-16-06 
Select CONVERT(varchar(100), GETDATE(), 11) : 06/05/16 
Select CONVERT(varchar(100), GETDATE(), 12) : 060516 
Select CONVERT(varchar(100), GETDATE(), 13) : 16 05 2006 10:57:46:937 
Select CONVERT(varchar(100), GETDATE(), 14) : 10:57:46:967 
Select CONVERT(varchar(100), GETDATE(), 20) : 2006-05-16 10:57:47 
Select CONVERT(varchar(100), GETDATE(), 21) : 2006-05-16 10:57:47.157 
Select CONVERT(varchar(100), GETDATE(), 22) : 05/16/06 10:57:47 AM 
Select CONVERT(varchar(100), GETDATE(), 23) : 2006-05-16 
Select CONVERT(varchar(100), GETDATE(), 24) : 10:57:47 
Select CONVERT(varchar(100), GETDATE(), 25) : 2006-05-16 10:57:47.250 
Select CONVERT(varchar(100), GETDATE(), 100) : 05 16 2006 10:57AM 
Select CONVERT(varchar(100), GETDATE(), 101) : 05/16/2006 
Select CONVERT(varchar(100), GETDATE(), 102) : 2006.05.16 
Select CONVERT(varchar(100), GETDATE(), 103) : 16/05/2006 
Select CONVERT(varchar(100), GETDATE(), 104) : 16.05.2006 
Select CONVERT(varchar(100), GETDATE(), 105) : 16-05-2006 
Select CONVERT(varchar(100), GETDATE(), 106) : 16 05 2006 
Select CONVERT(varchar(100), GETDATE(), 107) : 05 162006 
Select CONVERT(varchar(100), GETDATE(), 108) : 10:57:49 
Select CONVERT(varchar(100), GETDATE(), 109) : 05 16 2006 10:57:49:437AM 
Select CONVERT(varchar(100), GETDATE(), 110) : 05-16-2006 
Select CONVERT(varchar(100), GETDATE(), 111) : 2006/05/16 
Select CONVERT(varchar(100), GETDATE(), 112) : 20060516 
Select CONVERT(varchar(100), GETDATE(), 113) : 16 05 2006 10:57:49:513 
Select CONVERT(varchar(100), GETDATE(), 114) : 10:57:49:547 
Select CONVERT(varchar(100), GETDATE(), 120) : 2006-05-16 10:57:49 
Select CONVERT(varchar(100), GETDATE(), 121) : 2006-05-16 10:57:49.700 
Select CONVERT(varchar(100), GETDATE(), 126) : 2006-05-16T10:57:49.827 
Select CONVERT(varchar(100), GETDATE(), 130) : 18 ???? ?????? 1427 10:57:49:907AM 
Select CONVERT(varchar(100), GETDATE(), 131) : 18/04/1427 10:57:49:920AM 

 可以根据varchar(100) 的长度做相应的截取。

原文地址:https://www.cnblogs.com/lee0201/p/1754554.html