mysql concat 引号_在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里面使用多个单引号,三引号的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
本文标题: 在MySQL concat里面使用多个单引号,三引号的问题
本文地址: http://www.cppcns.com/shujuku/mysql/301908.html
mysql concat 引号_在MySQL concat里面使用多个单引号,三引号的问题相关推荐
- MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结
MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...
- mysql转义单引号双引号_[转] mysql 单引号 双引号
今天在写一条sql语句的时候,用的双引号,sql语句执行错误.记的同事问我mysql语句中的单引号和双引号有区别吗?回答是没有区别. 今天特地查了查,还是有点区别的. mysql中的一段说明: 在my ...
- mysql核心数据库_从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程...
从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程 课程目录 (1) 01MySQL基础_课程引入.avi (2) 02MySQL基础_为什么学习 ...
- mysql 字符串特殊字符_转:MySQL数据入库时特殊字符处理
在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 ("\")开头,称为转义字符. MySQL 识别下列转义字符: \0 一个 ASCII 0 (NUL) 字符. \ ...
- mysql emoji表情_让MySQL支持Emoji表情 mysql 5.6
最近在做微信相关的项目,其中MySQL 要存储emoji表情,因此发现我们常用的utf8 字符集根本无法存储表情.网上有不少替代方案.本人还是采用了修改MySQL字符集的方案简单快捷. 首先将我们数据 ...
- mysql binlog 备份_做好mysql运维,必须熟练掌握备份和恢复,实战一次不行多来几次...
原文:https://www.toutiao.com/i6855460778359816715/ 平台:头条 作者:程序员不就是0和1 一. 备份恢复策略 进行备份或恢复操作时需要考虑一些因素: 1. ...
- mysql 用户名 长度_一个 MySQL 用户名长度的坑
今天使用 PHP 连接一个 MySQL 数据库的时候连不上,提示无权限. 因为 MySQL 是在另外一个机房,首先想到的是防火墙的原因,但使用 MySQL-cli 却能正常连接,遂排除这种可能. 又怀 ...
- mysql语句命令_常用MySQL语句(命令行)
# 命令行客户端MySQLMySQL是一个关系型数据库管理系统 安装MySQL服务端软件使用: sudo apt-get install mysql-server 安装MySQL客户端软件使用: su ...
- php mysql emoji表情_让MySQL支持Emoji表情
让MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集.utf8mb4和utf8到底有什么区别呢?原来以往的 让MySQL支持Emoji表情,涉及无线 ...
最新文章
- 单元测试中,模拟一个新对象
- WinCE开发初探——开发环境
- Tomcat数据源总结
- exchange server 2003 安装过程中的一个问题
- MyBatis在insert插入操作时返回主键ID
- sublime text3的php代码合法检查
- 无法打开物理文件 操作系统错误 5:拒绝访问 SQL Sever
- bugku web基础$_POST
- ie6使用绝对定位position:absolute,box不显示
- LeetCode--75.颜色分类(三路快排,计数排序)
- 模拟实现死亡之Ping(Ping of death)
- fla 优化思路 flash cs6
- 13.STC15W408AS单片机SPI
- 如何将mkv转换mp4格式?
- kaminari 简要文档
- 半年学习tse的总结
- egret 使用EUI开发UI界面
- 说说转义字符 “\”
- java开发工具对比_Eclipse和STS哪个好_Java开发工具优缺点对比一览
- 【附白皮书下载】制造业数字化转型专家黄正杰:设备健康如何管理?
热门文章
- 浦发银行计算机笔试题库,2018浦发银行校园招聘笔试试题库
- 织梦模板不支持html,html中{}是什么样的模板?如何使用它?HTML5template模板标签是什么?html常用的字体样式是什么?dede后台文件为什么不能生成html?...
- 算法题:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串“12345”,则输出整数“12345”
- 配置phoenix连接hbase_Phoenix视图映射
- 管理任务执行-有效执行
- Linux问题分析或解决_samba无法连接
- zoj 3811 untrusted patrol
- ASP.NET 程序优化
- OpenFileDialog 类的ShowDialog() 错误的解决
- numpy T、transpose()函数、swapaxes()函数