在MySQL concat里面使用多个单引号,三引号的问题
发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,在动态拼接字符串时,我们常会用到字符拼接,我对拼接的引号不理解,如:1、'''+ id +''' 为什么是3个引号,为什么左边一个加号右边一个加号(能不能着重帮我解释下这个,详细点)SQL codes
千家信息网最后更新 2024年11月29日在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安全错误
数据库的锁怎样保障安全
城管数据库设计
上海通用软件开发成交价
逃离塔科夫建立服务器
惠来软件开发
关于网络安全软件排名
数据库神通
公安局下网络安全整改通知书
mi mac能做软件开发吗
上海际链软件开发工资
阿里云新人注册免费送服务器
端口重定向需要停服务器吗
软件开发设计与编程
腾嘉琪互联网科技有限公司
预警系统数据库一般包括要素
mysql一次查询条数据库
虹口区市场软件开发定制介绍
安监局网络安全责任制
微软 远程服务器管理器安装
文献检索选择数据库的标准是
如何停用服务器配置
网络技术有限公司转账怎么办
益阳软件开发安全系统费用
潍坊网络安全知识答题答案
服务器服务端安装
重庆北斗授时模块服务器
手机版网易服务器加模组
冷链监控软件开发
聊城管理软件开发
数据库分析设计怎么写
天猫销售改数据库