我有一个问题请: 我如何创建SQL服务器的默认日期时间为空,而不是1900-01-01 00:00:00.000
,我得到的表。默认情况下,在sql datetime列中插入空值/空值
我的意思是,如果没有插入值,默认值应为空,空......
感谢
我有一个问题请: 我如何创建SQL服务器的默认日期时间为空,而不是1900-01-01 00:00:00.000
,我得到的表。默认情况下,在sql datetime列中插入空值/空值
我的意思是,如果没有插入值,默认值应为空,空......
感谢
如果没有插入的值,默认值昭ULD为空,空
在表定义,使这个datetime
列允许空,可以不定义NOT NULL
:
...
DateTimeColumn DateTime,
...
我已允许的,虽然空变量。
然后,就在此列中插入NULL
:
INSERT INTO Table(name, datetimeColumn, ...)
VALUES('foo bar', NULL, ..);
或者,您也可以使用DEFAULT constaints的:
...
DateTimeColumn DateTime DEFAULT NULL,
...
然后你就可以完全忽略它在INSERT
声明它将以NULL
的值插入:
INSERT INTO Table(name, ...)
VALUES('foo bar', ..);
问题是,如果输入是空的,那么它不应该把'1900-0-0-0等',但NULL,我不应该把所有这些条件然后 –
@OziOz看到我的编辑。使它成为'DEFAULT NULL'并将它放在插入列表中,其他方式如果你没有使用'DEFAULT NULL',使它成为空值并在该列中插入null –
对不起马哈茂德我不明白你那么好:( 我在哪里把这个? 我应该为此创建一个新的查询吗? DateTimeColumn DateTime DEFAULT NULL, –
your_field DATETIME NULL DEFAULT NULL
INSERT INTO x(your_field)VALUES(NULL)
Ozi,当你创建一个新的datetime对象,如 datetime foo = new datetime(); FOO构造有时间datetime.minvalue() 建设一个参数化查询,你可以检查是否输入的值等于datetime.minvalue()
- 只是一个侧面思想。似乎你有事情的工作。
今天早上我有同样的问题。看来,对于DATE或DATETIME字段,不能插入空值。我通过首先检查一个空值(mydate =“”)来解决这个问题,如果它是空的,在插入前设置mydate =“NULL”。
DATE和DATETIME字段的行为与VARCHAR字段的行为不同。
_“DATE和DATETIME字段的行为方式与VARCHAR相同”_ - 这是因为空的非-null字符串('“”')是一个有效的字符串,但不可能构造一个有效的,空的非空日期。 – CodeCaster
'如果没有插入值,默认值应该为空,空'那么为什么不使用Nullable,并插入'NULL'? –
我已经允许NULL VARIABLES .. –
你可以显示一个样本'INSERT'语句? – zimdanen