請問一下 若是我用
cmd ="SELECT * FROM 科別 WHERE 病歷號碼='"&id&"' AND
'"&MONTH("日期")&"'= '"&MONTH(date_no)&"'"
會出現
Microsoft VBScript 執行階段錯誤 錯誤 '800a000d'
型態不符合: '[string: "日期"]'
他不是String型態是datetime
---------------------------------------------------------------------
我試
cmd ="SELECT * FROM 科別 WHERE 病歷號碼='"&id&"' AND
'"& MONTH(CONVERT(varchar,"日期"))&"'= '"&MONTH(date_no)&"'"
也沒有成功
Microsoft VBScript 執行階段錯誤 錯誤 '800a000d'
型態不符合: 'CONVERT'
請問大家有沒有好方法可以解決呢?
※ 引述《regionbbs (小朱)》之銘言:
: ※ 引述《ntouckcm (知足常樂)》之銘言:
: : 請問一下
: : datetime 形式是否可以直接比對
: : cmd ="SELECT * FROM 科別 WHERE 病歷號碼='"&id&"' AND
: : 日期= '2009/4/24 下午 04:00:00'"
: : 他就出現
: : Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80040e07'
: : [Microsoft][ODBC SQL Server Driver][SQL Server]從字元字串轉換到 datetime 時
: : ,轉換失敗。
: : ------------------------------------------------------------
: : 而我改成
: : cmd ="SELECT * FROM 科別 WHERE 病歷號碼='"&id&"' AND
: : 'CONVERT(varchar,日期,120)'= '2009/4/24 下午 04:00:00'"
: : 他就出現
: : HTTP 500 內部伺服器發生錯誤
: : 請問是否可以比對時間呢?謝謝~
: 1.
: 日期時間字串中不可以有中文字,除非哪天 SQL Server Team 中有台灣人,而他
: 把"上午/下午"的辨識做到 SQL Server 中。
: 2.
: 要比對日期時間,可以多善用日期與時間函數來做。
: 3.
: 你這個 SQL 寫法,如果哪天被人家用 SQL Injection 入侵的話,自行負責吧...
: 多用參數化查詢來寫會好非常多。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.121.219.142