时间:2021-05-23
在动态拼接字符串时,我们常会用到字符拼接,我对拼接的引号不理解,如:
1、'''+ id +''' 为什么是3个引号,为什么左边一个加号右边一个加号(能不能着重帮我解释下这个,详细点)
SQL code
sum(case Leave when '''+ id +''' then DaysNo else 0 end) ['+ name +']'
正常语句:
SQL code
SUM(CASE Leave WHEN '01' THEN DaysNo END) AS [事假],
SUM(CASE Leave WHEN '02' THEN DaysNo END) AS [病假]
简答:
简单的来说一般单引号是拼接语句用的,3个引号拼接是字符串变量值。
因为引号是有特殊含义的,所以要写2次,进行转义
2、字符串单引号和双引号有区别吗?
简单来说,如果是正常使用就单引号,,如果你在单引号里面还要使用单引号 。那么就要额外增加一个单引号(转义使用),变成3个单引号。
在标准 SQL 中,字符串使用的是单引号。
如果字符串本身也包括单引号,使用两个单引号(注意,不是双引号,字符串中的双引号不需要另外转义)。
MySQL对 SQL 的扩展,允许使用单引号和双引号两种。
简单总结:
通过concat拼字符串的时候,如果语句里面需要使用单引号,可以使用两个单引号来代替一个引号
mysql> select concat('drop user ''''@', '''', @@hostname, '''');+----------------------------------------------------+| concat('drop user ''''@', '''', @@hostname, '''') |+----------------------------------------------------+| drop user ''@'bei-f0q5bc2.gemalto.com' |+----------------------------------------------------+1 row in set (0.00 sec)补充拓展:mysql插入字符串带单引号+双引号
如下所示:
String needInsertStr= 单双引号的字符串;String finalStr = needInsertStr.replaceAll("'", "\\\\\'"); //作用等于在单引号前面加上转义符号\//对于其他特殊字符也是一样long dateMillions = System.currentTimeMillis();StringBuilder stringBuilder = new StringBuilder();stringBuilder.append("insert into ");stringBuilder.append(tableName);stringBuilder.append("(uuid,name,metric_id,service_id,script,deleted,created,updated) ");stringBuilder.append("values(uuid(),'");stringBuilder.append(name);stringBuilder.append("','");stringBuilder.append(name);stringBuilder.append("','");stringBuilder.append(serviceId);stringBuilder.append("','");stringBuilder.append(finalStr);stringBuilder.append("',0,");stringBuilder.append(dateMillions);stringBuilder.append(",");stringBuilder.append(dateMillions);stringBuilder.append(")");return stringBuilder.toString();// script字段即是带单双引号的字符串insert into table(string) values(' “这是测试语句”+\'测试单双引号\' ‘)
以上这篇在MySQL concat里面使用多个单引号,三引号的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python字符串(string)详解及代码Python的字符串可以使用单引号('),双引号("),三引号(''');三引号(''')里面,可以添加单引号和双引
Python中的三引号,3个单引号及3个双引号实际上3个单引号和3个双引号不经常用,但是在某些特殊格式的字符串下却有大用处。通常情况下我们用单引号或者双引号定义
例如:'string'、"string"、"""string"""或者是'''string'''。在使用上,单引号和双引号没有什么区别。三引号的主要功能是在字符
python中的单引号双引号有什么区别呢?下面给大家详细的介绍一下:先说双引号与三引号的区别,双引号所表示的字符串通常要写成一行。如:s1="hello,wor
单引号和双引号之间可以相互嵌套。1、单引号内只能嵌套双引号。2、双引号内只能嵌套单引号。3、如果想在双引号内,再嵌套双引号,里面的双引号,一定要进行转义(\”)