作者fantasyj (如梦似幻)
看板Database
标题Re: [SQL ] 关於字串内有'&'
时间Tue Jun 23 13:16:49 2009
※ 引述《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
1F:推 trewkkk:谢谢大大 不知道为什麽 现在不会出现之前那种情况了 06/24 11:27
2F:推 trewkkk:现在连直接select substr('&12345') from dual 都没问题.. 06/24 11:40
3F:推 trewkkk:总之谢谢各位啦 sunstr('&12345',1,1) 06/24 11:44