欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

小弟我想用sql拼个字符串出来,得到的字符串里不能有双引号,但是外面又必须有1层单引号

更新时间: 2014-01-05 02:14:58 责任编辑: Author_N1

 

我想用sql拼个字符串出来,得到的字符串里不能有双引号,但是外面又必须有1层单引号?
sql如下:

select (case when '{10}' = 'no' then  ''  else ' and (CASE WHEN T2.C700020017<>0 AND T2.C700020017>T2.C710020022 THEN "已结单" WHEN T2.C700020017=0 AND T2.C710020022<(sysdate-TO_DATE("19700101","yyyymmdd"))*86400-28800 THEN "已接单" ELSE "未结单" END)= '||'''{10}'''  end) c from dual


得到的结果是:
 and (CASE WHEN T2.C700020017<>0 AND T2.C700020017>T2.C710020022 THEN "已结单" WHEN T2.C700020017=0 AND T2.C710020022<(sysdate-TO_DATE("19700101","yyyymmdd"))*86400-28800 THEN "已结单" ELSE "未结单" END)= '{10}'

我想要的结果是:
 and (CASE WHEN T2.C700020017<>0 AND T2.C700020017>T2.C710020022 THEN '已结单' WHEN T2.C700020017=0 AND T2.C710020022<(sysdate-TO_DATE('19700101','yyyymmdd'))*86400-28800 THEN "已结单" ELSE '未结单' END)= '{10}'
--参考方法--
'''and (CASE WHEN T2.C700020017<>0 AND T2.C700020017>T2.C710020022 THEN '''
--参考方法--
'It''s Yours'

开头的和结尾的表示字符的起始和结尾,不会显示。

如果想在字符中插入单引号,用''表示,不存在三个,三个是开头之后紧接着一个单引号/单引号之后直接结尾。
--参考方法--
select CASE WHEN '{10}'='no' THEN 'a' ELSE '''and (
CASE WHEN T2.C700020017<>0 AND T2.C700020017>T2.C710020022 THEN ''已结单'' WHEN T2.C700020017=0 AND T2.C710020022<(sysdate-TO_DATE(''19700101'',''yyyymmdd''))*86400-28800 THEN ''已接单'' ELSE ''未结单'' END
)= ''
--参考方法--
''{10}''' END from dual
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:14:58
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7536/
本文WWW.DOC100.NET DOC100.NET版权所有。