sql时间样式

来源:互联网 发布:linux串口编程 select 编辑:程序博客网 时间:2024/05/29 17:51

Date Time样式

--语句及查询结果:
SELECTCONVERT(varchar(100),GETDATE(),0): 05162006 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): 160506
SELECT CONVERT(varchar(100),GETDATE(),7): 0516,06
SELECT CONVERT(varchar(100),GETDATE(),8): 10:57:46
SELECT CONVERT(varchar(100),GETDATE(),9): 05162006 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): 16052006 10:57:46:937
SELECT CONVERT(varchar(100),GETDATE(),14): 10:57:46:967
SELECT CONVERT(varchar(100),GETDATE(),20): 2006-05-1610:57:47
SELECT CONVERT(varchar(100),GETDATE(),21): 2006-05-1610:57:47.157
SELECT CONVERT(varchar(100),GETDATE(),22): 05/16/0610: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-1610:57:47.250
SELECT CONVERT(varchar(100),GETDATE(),100): 05162006 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): 16052006
SELECT CONVERT(varchar(100),GETDATE(),107): 0516,2006
SELECT CONVERT(varchar(100),GETDATE(),108): 10:57:49
SELECT CONVERT(varchar(100),GETDATE(),109): 05162006 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): 16052006 10:57:49:513
SELECT CONVERT(varchar(100),GETDATE(),114): 10:57:49:547
SELECT CONVERT(varchar(100),GETDATE(),120): 2006-05-1610:57:49
SELECT CONVERT(varchar(100),GETDATE(),121): 2006

 

对上面进行动态生成字符串:
 

declare@sql1nvarchar(200),@sql2nvarchar(200)
declare @count nvarchar(100);
set @sql1 = 'SELECT CONVERT(varchar(100), GETDATE(), 0)'
set @sql2 = 'SELECT @count = CONVERT(varchar(100), GETDATE(), 0)'
exec sp_executesql  @sql2,N'@count nvarchar(50) out',@count out
print @sql1 +'
'+@count


 

--SQL Server仅保证往返转换(即从原始数据类型进行转换后又返回原始数据类型的转换)在各版本间产生相同值。
DECLARE@myvaldecimal (5,2)
SET @myval = 193.57
SELECT CAST(CAST(@myvalASvarbinary(20))ASdecimal(10,5))
-- Or, using CONVERT
SELECT CONVERT(decimal(10,5),CONVERT(varbinary(20),@myval))
--
输出193.57000
--193.57000

 

--bigint数据类型的字段截取(其它类型也一样)
select substring(CONVERT(varchar(15),字段名),11,9)from表名
select substring(cast(字段名asvarchar(50),6,9))from表名