gpt4 book ai didi

在MySQL concat里面使用多个单引号,三引号的问题

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章在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拼字符串的时候,如果语句里面需要使用单引号,可以使用两个单引号来代替一个引号 。

?
1
2
3
4
5
6
7
mysql> select concat( 'drop user ' '' '@' , '' '' , @@hostname, '' '' );
+ ----------------------------------------------------+
| concat( 'drop user ' '' '@' , '' '' , @@hostname, '' '' ) |
+ ----------------------------------------------------+
| drop user '' @ 'bei-f0q5bc2.gemalto.com'       |
+ ----------------------------------------------------+
1 row in set (0.00 sec)

补充拓展:mysql插入字符串带单引号+双引号 。

如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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里面使用多个单引号,三引号的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/wqc19920906/article/details/79790774 。

最后此篇关于在MySQL concat里面使用多个单引号,三引号的问题的文章就讲到这里了,如果你想了解更多关于在MySQL concat里面使用多个单引号,三引号的问题的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com