没有合适的资源?快使用搜索试试~ 我知道了~
首页在MySQL concat里面使用多个单引号,三引号的问题
在动态拼接字符串时,我们常会用到字符拼接,我对拼接的引号不理解,如: 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 [病假] 简答: 简单的来说一般
资源详情
资源评论
资源推荐

在在MySQL concat里面使用多个单引号里面使用多个单引号,三引号的问题三引号的问题
在动态拼接字符串时,我们常会用到字符拼接,我对拼接的引号不理解,如:
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);

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0