看板 Database 關於我們 聯絡資訊
※ 引述《trewkkk (1234567)》之銘言: : 請問一下各位大大 : 我是使用oracle : 在寫function時 : 需要使用到substr('&12345',1,1) : 可是資料庫會把上面那個字串當成:12345的變數 : 有什麼方法可以抓出第一個字元'&'呢 : 目前我的解決方法為寫死的 : 因為'&12345'整串去比對則沒問題 : 先謝謝各位大大了 我的意思是'&12345'是table內的值,假設是test table的val欄位有一個值為'&12345' select substr(val,1,1) from test 這樣的話他會將val看成為:12345 當成一個變數 囧 所以還請各位大大幫忙囉 XD 照你說的是oracle db裡的某個table裡的一個欄位會可能有&開頭的value, 我在自己公司做了一段測試是正常的, 沒你說的那種問題, 你可以跟著試試以下這段sql是不是正常, SELECT A.TEST, SUBSTR(A.TEST, 1, 1) FROM (SELECT '&' || '12345' TEST FROM DUAL UNION ALL SELECT '312' || '&' || '5' TEST FROM DUAL UNION ALL SELECT '982&' TEST FROM DUAL) A; 測試環境︰Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production PL/SQL Release 9.2.0.7.0 - Production 開發軟體︰PL/SQL developer & TOAD 都ok無誤 o.o -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.3.165.131
trewkkk:謝謝大大 不知道為什麼 現在不會出現之前那種情況了 06/24 11:27
trewkkk:現在連直接select substr('&12345') from dual 都沒問題.. 06/24 11:40
trewkkk:總之謝謝各位啦 sunstr('&12345',1,1) 06/24 11:44