Sql Server如何使用date数据类型将日期插入到列中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sql Server如何使用date数据类型将日期插入到列中相关的知识,希望对你有一定的参考价值。

我试图将生日日期插入Sql Server 2008 r2 db中的列日期我尝试传递它如下所示,但没有一个被解决

enter image description here

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转换为数字时出错。

答案

从您生成的编辑和错误消息,看起来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与日期不兼容

另一答案

差不多了。尝试

INSERT INTO t1 (birthday) VALUES ('2010-08-12')

另一答案

在插入中,您提到了两列,即ID和NUMBER。

打赌你只提到了1个值:因此

INSERT INTO t1 (ID,NUM) VALUES (1, '20100812')
  • 回答修改后的问题:

列NUMBER的数据类型是数字,您正在尝试插入qazxsw poi。

因此,请更正列NUM的数据类型或插入正确的列。

以上是关于Sql Server如何使用date数据类型将日期插入到列中的主要内容,如果未能解决你的问题,请参考以下文章

sql server 如何将日期时间字段修改成最接近该时间的整点时间?

SQL server 数据类型 - Date VS Varchar(n)

SQL Server 修改日期

用于 Access 的 SQL Server 迁移助手:日期数据类型

c# SQL Server:日期时间数据类型

在sql server2008中的日期类型是啥