SQL 日期时间函数
Sqlserver中经常要操作一些时间类型的字段转换,我又不太记得住,记在这里方便自己以后要用的时候寻找,望对大家也有帮助.
MS SQL Server中文版的预设日期datetime格式是yyyy-mm-dd hh:mm:ss.mmm
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
--短日期格式: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)
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)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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 16, 06
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 16, 2006
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
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 16, 06
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 16, 2006
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) 的长度做相应的截取。