在SQL Server中使用的安全日期时间字符串格式为
YYYYMMDD HH:MM:SS或
YYYY-MM-DDTHH:MM:SS。
如果SET DATEFORMAT为dmy,则转换将失败。设置语言将自动为您设置日期格式。我认为无论是
german和
norwegian使用DMY。
这将失败:
set language norwegiandeclare @F7 varchar(10) = '26/04/2011'declare @F8 varchar(10) = '00:09:13'DECLARE @Date VARCHAr(20)SET @Date = RIGHt(@F7,4)+'/'+SUBSTRINg(@F7,4,2)+'/'+LEFt(@F7,2)DECLARE @time DATETIMESET @time = ConVERT(DATETIME, @Date + ' ' + @F8)
无论使用哪种语言/日期格式设置,都应这样做(使用YYYY-MM-DDTHH:MM:SS)以确保安全。
declare @F7 varchar(10) = '26/04/2011'declare @F8 varchar(10) = '00:09:13'DECLARE @Date VARCHAr(20)SET @Date = RIGHt(@F7,4)+'-'+SUBSTRINg(@F7,4,2)+'-'+LEFt(@F7,2)DECLARE @time DATETIMESET @time = ConVERT(DATETIME, @Date + 'T' + @F8)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)