mysql函数之四:concat() mysql 多个字段拼接
语法:
COUNT(DISTINCT expr ,[expr ...])
函数使用说明:返回不同的非NULL 值数目。若找不到匹配的项,则COUNT(DISTINCT) 返回 0
Mysql的查询结果行字段拼接,可以用下面两个函数实现:
1. concat函数
mysql> select concat('','','') from test ;
+---------------------+
| concat('','','') |
+---------------------+
| 123 |
+---------------------+
如果连接串中存在NULL,则返回结果为NULL:
mysql> select concat('','',NULL,'') from test ;
+--------------------------+
| concat('','',NULL,'') |
+--------------------------+
| NULL |
+--------------------------+
2. concat_ws函数
concat(separator,str1,str2,...) 代表 concat with separator ,是concat()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
mysql> select concat_ws(':','','','') from test ;
+----------------------------+
| concat_ws(':','','','') |
+----------------------------+
| 1:2:3 |
+----------------------------+
分隔符为NULL,则返回结果为NULL:
mysql> select concat_ws(NULL,'','','') from test;
+-----------------------------+
| concat_ws(NULL,'','','') |
+-----------------------------+
| NULL |
+-----------------------------+
如果参数中存在NULL,则会被忽略:
mysql> select concat_ws(':','','',NULL,NULL,NULL,'') from test ;
+-------------------------------------------+
| concat_ws(':','','',NULL,NULL,NULL,'') |
+-------------------------------------------+
| 1:2:3 |
+-------------------------------------------+
可以对NULL进行判断,并用其它值进行替换:
mysql> select concat_ws(':','','',ifNULL(NULL,''),'') from bank limit 1;
+---------------------------------------------+
| concat_ws(':','','',ifNULL(NULL,''),'') |
+---------------------------------------------+
| 1:2:0:3 |
+---------------------------------------------+
select username,email,content from test_table where user_id=uid;
上面的user_id是接收输入的。
concat函数本来是这样用的SELECT CONCAT('My', 'S', 'QL');执行结果是'MySQL'。也就是连接作用的。我们利用它来为我们服务,
uid=-1 union select username ,concat(password,sex,address,telephone),content from test_talbe where user_id=管理员id;
这个语句实际查询了六个字段,但是显示的时候,把password,sex,address,telephone等字段合在一起,显示在原本应该显示email的地方。
更好的方法:中间用分隔符分开:
uid=-1 union select username ,concat(password,0×3a,sex,0×3a,address,0×3a,telephone) ,content from test_talbe where user_id=管理员id;
其中0×3a是“:”的十六进 制形式。
mysql函数之四:concat() mysql 多个字段拼接的更多相关文章
- mysql函数之八:mysql函数大全
对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql& ...
- mysql函数之六:mysql插入数据后返回自增ID的方法,last_insert_id(),selectkey
mysql插入数据后返回自增ID的方法 mysql和oracle插入的时候有一个很大的区别是,oracle支持序列做id,mysql本身有一个列可以做自增长字段,mysql在插入一条数据后,如何能获得 ...
- sql语句中避免使用mysql函数,提升mysql处理能力。
如下sql中不要用mysql内置函数now()等,这样第一可以提高sql执行效率,第二统一程序层处理sql中时间参数,避免因服务器时间差导致问题产生. 使用PDO预处理,第一可以提高sql效率,第二可 ...
- MySQL语句进行分组后的含有字段拼接方法
MySQL语句: SELECT GROUP_CONCAT(DISTINCT transaction_no) FROM `lm_wh_trans` GROUP BY staff_code; 如果tran ...
- 【转】mysql函数
MySQL函数 MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: 系统信息函数: 加密函数: 格式化函数: 一.数学函数 数学函数主要用于处理数字,包括 ...
- 第二百八十五节,MySQL数据库-MySQL函数
MySQL数据库-MySQL函数 1.MySQL内置函数 SELECT执行函数,后面跟要执行的函数 CHAR_LENGTH(str)函数:返回字符串的字符长度 -- CHAR_LENGTH(str)函 ...
- 【MySQL函数】MySQL 5.5从零开始学第六章
说明:本文总结自:<MySQL 5.5从零开始学>第六章 MySQL中的函数包括: 数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数和加密函数等. 函数: 表示对输入参数值 ...
- MySQL学习笔记(三)——计算字段及常用函数
拼接字段-Concat()函数 将值连接在一起构成单个值.注意:大多数DBMS使用+或者||来实现拼接,mysql则使用Concat()函数来实现. 去空格函数-Trim函数 ...
- mysql函数concat与group_concat使用说明
mysql函数concat与group_concat使用说明concat()函数<pre>mysql> select concat(',',name,',') from `user` ...
随机推荐
- dhroid - NetJSONAdapter 网络化的adapter
关于adapter 我想对于大家来说已经不陌生了,基本应用都会用的很多,不知道现在你是不是还是按一定的套路写很多代码去实现adapter我想大多数人还是写个adapter继承自baseadapter ...
- Shell输入输出重定向
全部可用的重定向命令列表 命令 说明 command > file 将输出重定向到 file. command < file 将输入重定向到 file. command >> ...
- 《机器学习实战》中的程序清单2-1 k近邻算法(kNN)classify0都做了什么
from numpy import * import operator import matplotlib import matplotlib.pyplot as plt from imp impor ...
- Oracle字符串连接的方法
Oracle数据库中,使用“||”进行字符串连接,下面就让我们一起了解一下Oracle数据库中字符串连接的方法,希望对您能有所帮助. 和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串 ...
- Elasticsearch 基础理论 & 配置调优
一.简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为 ...
- LoadRunner-录制脚本中文显示乱码
录制的脚本中中文字符显示乱码 在Tools->Recording Options中设置支持UTF-8即可
- oracle数据迁移到mysql
今天遇到需求要把oracle的部分数据搬到mysql,用java代码抓数据,然后拼接成sql语句,然后用navicat执行sql脚本的方法,导入数据库. import oracle.jdbc.driv ...
- zookeeper 版本不一致导致不断重连
在使用kafka 和zookeeper 实现实时分析程序时,由于zookeeper部署版本和分析程序导入jar包的版本不一致,导致了当实时分析程序从远程服务器连接kafka集群的zookeeper时报 ...
- LoadRunner中获取当前系统时间方法
LoadRunner中获取当前系统时间方法 发表于:2017-6-02 11:41 作者:人生_0809 来源:51Testing软件测试网采编 字体:大 中 小 | 上一篇 | 下一篇 | 打 ...
- 用SCSS需要小心IE对css的几个限制
IE对CSS的限制主要有两个: 一个页面中引用的CSS只读前32个 一个CSS文件中只读前4095个选择器 关于这个问题的文章有很多,我就不细讲了. 我想讲的是在用SCSS写CSS的时候非常容易超过这 ...