在MySQL concat里面使用多个单引号,三引号的问题
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,在动态拼接字符串时,我们常会用到字符拼接,我对拼接的引号不理解,如:1、'''+ id +''' 为什么是3个引号,为什么左边一个加号右边一个加号(能不能着重帮我解释下这个,详细点)SQL codes
千家信息网最后更新 2025年01月21日在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);stringBuilder.append(",");stringBuilder.append(dateMillions);stringBuilder.append(")");return stringBuilder.toString();// script字段即是带单双引号的字符串
insert into table(string) values(' "这是测试语句"+\'测试单双引号\' ')
以上这篇在MySQL concat里面使用多个单引号,三引号的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
引号
字符
字符串
语句
转义
特殊
两个
加号
测试
多个
问题
事假
作用
内容
动态
右边
含义
字段
就是
常会
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库视图举例
伊春政务软件开发技术
重庆惠普服务器虚拟化优势
诺亚传说的服务器在哪里
如何在服务器上面建造软件
电脑服务器的降温方式
VBA获取数据库
山东服务器维修调试费用
高一网络安全手抄报
空间数据库技术支持
高青专业软件开发咨询
郑州自来水总公司的网络安全部门
内部网络安全由哪个部门负责
韩国服务器代购
武汉市软件开发人员招聘信息
服务器为什么容易被攻击
数据库怎样建立
短视频软件开发搭建
大学生校园网络安全知识培训
宿舍报修系统 数据库设计说明书
河南智游网络技术公司 交通
小学生网络安全ppt
学电脑软件开发需要什么书
临沂拓优网络技术有限公司
网络安全黑板报中学生素材
服务器代挂小时光
关于手机网络安全问题
网络安全渗透社工案例
服务器301重定向
强制删除数据库