pl/sql 字符串拼接问题 我的sql语句中 where 条件是ny=201106

2011是动态获取的字符串,名称为nd,06是固定的,是在现在的表中用substr截取得到了,这两个如何拼接,这是我得到06的语句:select substr(NY,5,2) from yjy_gh_10304,这个没有问题,高手赐教

字符拼接直接用“||”就可以了,比如说你将得到06值的语句赋给变量v1,则你需要的语句应该是:where ny=nd||v1;追问

我是这样写的: select hsncy,ny from yjy_gh_10304 where ny='2011'||(select substr(NY,5,2) from yjy_gh_10304)

追答

你这种写法可以,这是表内自连接的写法,但是因前后表没有管理关系,因数据原因可能会报错,改成下面的写法:
select T1.hsncy,T1.ny from yjy_gh_10304 T1 where T1.ny='2011'||(select substr(T2.NY,5,2) from yjy_gh_10304 T2 where T1.rowid=T2.rowid )

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-16
用连接符||就行了, 如下
select '2010'||‘06’ from table , 2010,06换成你取来的值
第2个回答  2011-08-16
select t1.hsncy||t1.ny||t2.xx --想连什么就写什么
from
(select hsncy,ny from yjy_gh_10304 where ny='2011') t1,
(select substr(NY,5,2) xx from yjy_gh_10304) t2

||不是用来连查询语句的,而是连接查询的字段的

Warning: Invalid argument supplied for foreach() in /www/wwwroot/www.t2y.org3v3b34/skin/templets/default/contents.html on line 47
相似回答