首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

Oracle编程时碰到的字符连接串疑惑

2013-01-11 
Oracle编程时遇到的字符连接串疑惑本人仅知道连接字符串SELECT ename|| is a || job FROM emp比如此句

Oracle编程时遇到的字符连接串疑惑
本人仅知道连接字符串
SELECT ename  ||' is a '|| job FROM emp;
比如此句显示的就是类似MIKE is a Manager的结果;
那么语句中
v_sql:='select * from (select t1.*, rownum rn from (select * from '||tableName||') t1 where rownum<='||v_end||') where rn>='||v_begin;  
''与||需要怎么理解,具体指的就是||与''的用法?''到底是怎么将此sql分句的?其中tableName、v_begin、v_end、v_sql均为变量


'select * from (select t1.*, rownum rn from (select * from '            ||tableName||              
') t1 where rownum<='            ||v_end||              
') where rn>='              ||v_begin
三部分

还是
where rownum<='||v_end||'
select * from '||tableName||') t1 where rownum<='||v_end||'
'select * from (select t1.*, rownum rn from (select * from '||tableName||') t1 where rownum<='||v_end||') where rn>='
三部分呢

个人倾向于第一种
[解决办法]
没看懂LZ到底是要问什么东西。

[解决办法]
就是字符串的连接
'XXX'就是字符串
至于书写的格式 全看自己喜欢。
[解决办法]

oracle里面是以单引号表示字符串的,所以在写动态sql的时候如果sql中含有单引号的字符串,就需要在增加一个'以便解析的时候使用到。

[解决办法]
是连字符,'abc'是个字符串常量,单引号表示它的起止,输出时不会显示出来。

如果我想把它和别的串连接,可以'abc'
[解决办法]
'de',当然这么做比较傻,一般直接写'abcde'

也可以'abc'
[解决办法]
v_col1 ,v_col1是个变量

多个变量连接可以用v_col1
[解决办法]
v_col2
[解决办法]
v_col3

一般都是变量出现在常量的中间,所以一般是
'and a = '
[解决办法]
v_col1
[解决办法]
' and b < '
[解决办法]
v_col2
[解决办法]
' and c > '
[解决办法]
v_col3....

最后打印出来是 a = 1 and b < 2 and c > 3

如果在字符中要表示单引号,需要用两个,以区别起止,比如'I''m'输出是 I'm。

如果觉得容易出错,可以用chr(39)代替单引号 'I'
[解决办法]
chr(39)
[解决办法]
'm'输出也是 I'm。

热点排行