iT邦幫忙

0

在什麼情況下, 資料庫會寫進1905/3/16這種詭異的日期?

sql

網站的程式裡
明明就沒寫過這種日期
可是資料庫裡卻有欄位被寫成這種日期
見鬼了?
到底問題出在哪裡?
用戶端? 還是Server端的問題?

2 個回答

16
外獅佬
iT邦大師 1 級 ‧ 2014-07-15 08:45:42
最佳解答

以SQL Server來說,有一種方式可以產生這樣的日期

<pre class="c" name="code">
SELECT CONVERT(datetime,2008) AS date1

這時,date1會是1905-07-02 00:00:00
注意,2008並不是字串,如果改成

<pre class="c" name="code">
SELECT CONVERT(datetime,'2008') AS date1

date1將會是2008-01-01 00:00:00

外獅佬 iT邦大師 1 級 ‧ 2014-07-15 08:54:57 檢舉

上述的案例,改成1900,就會是你的1905/3/16這個日期

player iT邦大師 1 級 ‧ 2014-07-15 16:35:17 檢舉

了解
大概是哪邊誤輸入1900了?
然後在轉換時, 又漏掉先轉字串了?

0
pantc328
iT邦研究生 1 級 ‧ 2014-07-15 08:57:31

就是 null default 欄位

我要發表回答

立即登入回答