我正在尝试将生日日期插入Sql Server 2008 r2
中的列日期中
db我试图通过它,如下所示,但都没有解决
INSERT INTO t1 (birthday) VALUES (cast(08/12/2010 as date))
消息529,级别16,状态2,第1行从数据类型的显式转换 不允许int至今。
INSERT INTO t1 (birthday) VALUES (20100812)
操作符类型冲突:int与日期不兼容
INSERT INTO t1 (birthday) VALUES (20100812)
INSERT INTO t1 (birthday) VALUES ('20100812')
将数据类型varchar转换为数字时出错。
INSERT INTO t1 (birthday) VALUES ('2010-08-12')
将数据类型varchar转换为数字时出错。
答案 0 :(得分:2)
从生成的编辑和错误消息来看,birthday
列的数据类型似乎不是DATE
更正这一点,这将起作用
INSERT INTO t1 (birthday) VALUES (cast(08/12/2010 as date))
或
INSERT INTO t1 (birthday) VALUES ('20101210')
完整存储库-工作中
CREATE TABLE t1 (Birthday DATE)
INSERT INTO dbo.T1 ( Birthday)
VALUES ('20181010')
INSERT INTO dbo.T1 ( Birthday)
VALUES (CAST('20181010' AS DATE) )
SELECT * FROM dbo.T1
Birthday
2018-10-10
2018-10-10
错误回购(1)-在INT列中输入日期值
CREATE TABLE t1 (Birthday INT)
INSERT INTO dbo.T1 ( Birthday)
VALUES (CAST('20181010' AS DATE) )
消息206,级别16,状态2,第7行,操作数类型冲突:日期为 与int不兼容
错误回购(2)-在NUMERIC列中输入日期值
CREATE TABLE t1 (Birthday NUMERIC)
INSERT INTO dbo.T1 ( Birthday)
VALUES (CAST('20181010' AS DATE) )
消息206,级别16,状态2,第7行,操作数类型冲突:日期为 与数字不兼容
错误回购(3)-在DATE列中输入一个INT值
CREATE TABLE t1 (Birthday DATE)
INSERT INTO dbo.T1 ( Birthday)
VALUES (20181010)
消息206,级别16,状态2,第6行操作数类型冲突:int is 与日期不符
答案 1 :(得分:1)
快到了。试试
INSERT INTO t1 (birthday) VALUES ('2010-08-12')
答案 2 :(得分:1)
即使是一年前被问到,但如果您使用下面的代码,它仍然可以供其他参考: 插入t1(生日)值(转换(日期,'08 / 12/2010'))
日期也不应以ddmmyyyy格式插入,这是很常见的错误。
答案 3 :(得分:0)
您在插页中提到了两列,即ID和NUM。
打赌,您只提到了1个值:因此
INSERT INTO t1 (ID,NUM) VALUES (1, '20100812')
NUM 列的数据类型为数字,并且您正在尝试插入varchar
。
因此请更正NUM列的数据类型或将其插入正确的列。