看了半天沒看懂問題在哪裡,
原來是遇到錯誤就把錯誤擴大解讀的情況.
要跟你講的是:
1. 你所翻遍的SQL手冊所講的很夠了,
你真的只要知道datetime是一個有日期與時間格式的字串.
只要是字串,當然加個單引號; 不加單引號的情況不必測試,也不必討論.
2. SQL送出去得到錯誤,真的是因為欄位的資料型態設定為datetime嗎?
你能證明嗎? 或者是只因為遇到錯,做片面假設,然後碰到一個好像是證明的結果?
其實你可以先讀一下錯誤訊息是什麼,
還有把VB.Net的cmd.CommandText印出來,與純粹SQL Server操作time欄位
所能儲存的內容印出來比較一下,
看看有沒有解決問題的線索.
SQL Server手冊明明說datetime是字串的樣子,若要說它不是字串,
也沒辦法解決什麼事情.
前面所提到的 toString 加上格式,以及用SQL自己的 getdate() 是對的.
3. SQL Server儲存的datetime欄位本來就可以加減,
並不是因為今天你測它遇到錯誤,就完全沒有加減功能.
儲存在SQL Server的 datetime 字串,不只是可以讓VB.Net取出來做加減,
即使用SQL也可以做加減.
若儲存為自己的格式,則VB.Net或SQL都要寫一堆轉換程式,反而不方便.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.230.177
※ 編輯: yauhh 來自: 59.112.230.177 (04/26 06:59)