
[英]he conversion of a varchar data type to a datetime data type resulted in an out-of-range value
[英]he conversion of a char data type to a datetime data type resulted in an out-of-range datetime value
我正在执行以下查询,但出现以下错误。
INSERT INTO [dbo].[Calendar] ([ID],[Year],[Quarter],[Week],[Stdate],[EdDate])
VALUES (680, 2020, 1, 1, convert(datetime,'30-06-2019 00:00:00 AM'), convert(datetime,'06-07-2019 23:59:00 PM'));
错误信息:
从char数据类型到DateTime数据类型的转换导致超出范围的DateTime值。
在查询中将日期从dd-MM格式更改为MM-dd格式
convert(datetime,'06-30-2019 00:00:00 AM')
不要使用Am PM:
选择转换(日期时间,'06 -07-2019 23:59:00')
我们可以有不同类型的转化:
尝试解析
它将字符串数据类型转换为目标数据类型(日期或数字)
这是一个例子:
Declare @fakeDate as varchar(10);
Declare @realDate as varchar(10);
set @fakeDate = 'I am not a date';
set @realdate = '13/09/2015';
select try_parse (@fakeDate as DATE); --Null because the parsing fails
select try_parse (@realDate as DATE); --Null due to type mismatch
select try_parse (@realDate as DATE using 'FR-FR'); --13/09/2015
它将值转换为指定的数据类型,如果转换失败,则返回NULL语法为:
try_convert(data_type[(length)], expression[,style])
它将表达式从一种类型转换为另一种类型,例如:
select convert(varchar(20),GetDate,108);
希望它可以帮助您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.