我有一個問題請: 我如何創建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