我创建了如下表
CREATE TABLE StateRegion
(
ID bigint PRIMARY KEY IDENTITY(1,1),
FullName varchar(50) NOT NULL,
Abbreviation varchar(2) NOT NULL,
RegionType smallint NOT NULL,
Admitted date NULL,
Capital varchar(50) NULL
);
GO
并用如下语句执行一次插入操作
INSERT INTO StateRegion (FullName, Abbreviation, RegionType, Admitted, Capital) VALUES
('Alabama', 'AL', 1, '1819-Dec-14', 'Montgomery');
执行后我得到这样的报错
Msg 241, Level 16, State 1, Line 1
从字符串转换日期和/或时间时,转换失败。
请问应该怎样解决。我的要求是不改动我的INSERT 语句的情况下应该怎样把这行数据插入数据库中。
------解决思路----------------------
在控制面板里 ->区域与语言 设置成英语试试。
------解决思路----------------------
同样的语句我放到我工作的电脑上去执行就完全没问题,一定是电脑的系统设置或者数据库设置哪里有不一样的地方。
工作电脑我region选的是美国,格式选的是英语。回家后我会试一下更改设置看行不行。
--------------------------------
我用的Sql2008英文版+Windows2003中文版 ,确实也没问题
------解决思路----------------------
我控制面板里选项全是中文,所以应该水是控制面板的选项
------解决思路----------------------
说不定你区域语言设置下就可以了~~

------解决思路----------------------
设置典型的设计不良,内外没有分层。
界面如何显示、外部数据格式如何定义都没关系,内部数据库操作上应该用统一的纯数字日期格式。