mysql 字串号以逗号分隔,分隔后第个字符加单引号,然后再拼接起来,字符间用逗号
selectchannelfromtb_userwhereid='1';得到以下结果+-----------+|channel|+-----------+|4,5,6,7...
select channel from tb_user where id='1';
得到以下结果
+-----------+
| channel |
+-----------+
| 4,5,6,7,8 |
+-----------+
我想要个结果是
+-----------+
| channel |
+-----------+
| '4','5','6','7','8' |
+-----------+ 展开
得到以下结果
+-----------+
| channel |
+-----------+
| 4,5,6,7,8 |
+-----------+
我想要个结果是
+-----------+
| channel |
+-----------+
| '4','5','6','7','8' |
+-----------+ 展开
4个回答
展开全部
select replace(concat('''',channel,''''),',',''',''碰祥宽') from tb_user where id='笑亮宴册1';
这样么
更多追问追答
追问
结果是
| replace(concat('''',channel,''''),',',''',''') |
+------------------------------------------------+
| '4','5','6','7','8'
我只要| '4','5','6','7','8' | 这一行
追答
select replace(concat('''',channel,''''),',',''',''') channel from tb_user where id='1';
起别名不就行了吗
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不要直接写读到的值。耐春
思路:
将读到的值用连昌山耐接符连接单引号,再唯纯写出来。
s1=rb("s1")
s1="'" & s1 & "'"
……
st1=s1 & "," & s2 ……
思路:
将读到的值用连昌山耐接符连接单引号,再唯纯写出来。
s1=rb("s1")
s1="'" & s1 & "'"
……
st1=s1 & "," & s2 ……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-07-27 · 知道合伙人软件行家
关注
展开全部
SELECT CONCAT('\'',REPLACE('4,5,6,7,8',','闭歼,'慎皮\',\轿孝冲''),'\'');
追问
我自己是这么写的
SELECT ( CONCAT( '''',(REPLACE((select channel from tb_user where id='1' ),',',CONCAT('''',',',''''))),'''')) FROM DUAL
可where id in() 得出来的结果是empty,但是where id in('4','5','6','7','8' ) 结果正常
追答
from dual是oracle才有的
mysql中直接用不用写from
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
虽然整个问题过去很久了但是我刚好也碰到类似的问题 记一下 楼主查询出来的值 是做为一个子查询 但是select replace(concat('''',channel,''''),','隐尘陆,''',''') from tb_user where id='兄码1'出来的值是一个字符串 所以in会把他当做整个字符串搜索 而不是5,6,7,8 所以最后我用sql正则 就行了 应该这样写灶顷 select * from aa where id REGEXP (
select replace(channel,',','|') from tb_user where id='1'
)
select replace(channel,',','|') from tb_user where id='1'
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询