我将有效的英国日期28/07/2014 10:53:46
发送到我的数据库以插入。但是,以下声明中说The conversion of a varchar data type to a smalldatetime data type resulted in an out-of-range value
INSERT INTO user_Log (Id,IP,DateTime)
VALUES (6, '127.0.0.1', '28/07/2014 10:53:46');
但如果我像下面那样交换数据和月份部分就行了。我应该在数据库中进行哪些更改以接受英国日期格式?
INSERT INTO user_Log (Id,IP,DateTime)
VALUES (6, '127.0.0.1', '07/28/2014 10:53:46');
答案 0 :(得分:0)
您可以尝试将语言设置为英语:
SET LANGUAGE 'british english'
或将日期格式设置为dd / mm / yyyy
SET DATEFORMAT dmy;
也看看这个:
答案 1 :(得分:0)
您可以使用以下查询更改sql server中的默认日期格式:
SET DATEFORMAT mdy;
答案 2 :(得分:0)
你可以使用好的'老式字符串操作来交换月和日:
declare @DATE_INPUT varchar(19); set @DATE_INPUT = '28/07/2014 10:53:46'
declare @US_DATE varchar(19)
set @US_DATE = SUBSTRING(@DATE_INPUT,4,2) + '/' + LEFT(@DATE_INPUT, 2) + RIGHT(@DATE_INPUT, 14)
INSERT INTO user_Log(Id,IP,DateTime)
VALUES(6, '127.0.0.1', @US_DATE);