Re: [SQL ] 關於字串內有'&'

看板Database作者 (如夢似幻)時間16年前 (2009/06/23 13:16), 編輯推噓3(300)
留言3則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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

06/24 11:27, , 1F
謝謝大大 不知道為什麼 現在不會出現之前那種情況了
06/24 11:27, 1F

06/24 11:40, , 2F
現在連直接select substr('&12345') from dual 都沒問題..
06/24 11:40, 2F

06/24 11:44, , 3F
總之謝謝各位啦 sunstr('&12345',1,1)
06/24 11:44, 3F
文章代碼(AID): #1AG6L2dJ (Database)
文章代碼(AID): #1AG6L2dJ (Database)