看板 Database 關於我們 聯絡資訊
請問一下 若是我用 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