[問題] Oracle date轉換問題

看板C_Sharp (C#)作者時間11年前 (2014/09/01 20:26), 編輯推噓5(502)
留言7則, 6人參與, 最新討論串1/1
大家好~ 我有一個關於TO_date的問題想請教, 就是我想要在TextBox輸入日期來查詢出資料, 但是一直卡在date轉換的問題,執行時會出現 ORA-1843: not a valid month 請問要怎麼改寫會比較好?? 程式碼如下: OracleCommand cmd = new OracleCommand("SELECT A1,"+ "A2 FROM AAA " + "WHERE A3 LIKE NVL(:paramPID,A3) "+ "AND ETA BETWEEN"+ "NVL(:paramPID3,TO_DATE('19900101','YYYY/MM/DD')) AND"+ "NVL(:paramPID4,TO_DATE('29991231','YYYY/MM/DD'))", conn); cmd.Parameters.Add("paramPID", OracleDbType.Varchar2).Value = TextBox1.Text; cmd.Parameters.Add(":paramPID3", OracleDbType.Date).Value = TextBox7.Text; cmd.Parameters.Add(":paramPID4", OracleDbType.Date).Value = TextBox8.Text -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 119.14.94.195 ※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1409574418.A.EDD.html

09/01 20:44, , 1F
現看一下 你PID3和4出來是甚麼東西
09/01 20:44, 1F

09/01 20:44, , 2F
*先
09/01 20:44, 2F

09/01 21:23, , 3F
TO_DATE('19900101','YYYY/MM/DD') AS DATEONE ??
09/01 21:23, 3F

09/02 14:20, , 4F
先確定你PID3和4的內容可以轉成日期
09/02 14:20, 4F

09/04 02:08, , 5F
TO_DATE('19900101','YYYYMMDD') 這樣,或是都加上 /
09/04 02:08, 5F

09/10 23:14, , 6F
大哥 19900101 跟 yyyy/mm/dd格式對不起來吧
09/10 23:14, 6F

09/22 20:08, , 7F
SQL 沒錯 是你的程式碼不覺得異常詭異嗎 ... ":"
09/22 20:08, 7F
文章代碼(AID): #1K16OIxT (C_Sharp)
文章代碼(AID): #1K16OIxT (C_Sharp)