广告
返回顶部
首页 > 资讯 > 数据库 >在MySQL concat里面使用多个单引号,三引号的问题
  • 822
分享到

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

MySQLconcat单引号三引号 2022-05-21 05:05:04 822人浏览 泡泡鱼
摘要

在动态拼接字符串时,我们常会用到字符拼接,我对拼接的引号不理解,如: 1、'''+ id +''' 为什么是3个引号,为什么左边一个加号右边一个加号(能不能着重帮我解释下这个,详细点) sql code sum(c

在动态拼接字符串时,我们常会用到字符拼接,我对拼接的引号不理解,如:

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里面使用多个单引号,三引号的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。

您可能感兴趣的文档:

--结束END--

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

本文链接: https://www.lsjlt.com/news/9504.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 在MySQL concat里面使用多个单引号,三引号的问题
    在动态拼接字符串时,我们常会用到字符拼接,我对拼接的引号不理解,如: 1、'''+ id +''' 为什么是3个引号,为什么左边一个加号右边一个加号(能不能着重帮我解释下这个,详细点) SQL code sum(c...
    99+
    2022-05-21
    MySQL concat 单引号 三引号
  • MySQL concat里面单引号的用法
    这篇文章主要讲解了“MySQL concat里面单引号的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL concat里面单引号的用法”吧! ...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作