MySql
来源:互联网 发布:淘宝新品上架 手机 编辑:程序博客网 时间:2024/05/06 08:50
本篇博文记录MySql常用函数与应用实例。
【1】字符串拼接函数
- 将字符串直接拼接起来;
CONCAT(str1,str2,...)
Navicat 实例:
select * from tb_user where user_name like CONCAT('%','演示','%')
【2】添加分隔符的字符串拼接函数
- 将字符串通过分隔符拼接起来;
CONCAT_WS(separator,str1,str2,...)
Navicat 实例:
select CONCAT_WS(',','123456','45','9')
【3】格式化函数
- 不只是格式化日期!
CONVERT(expr,type);orCAST(expr AS type)//二者功能相似
The type can be one of the following values :
BINARY[(N)] CHAR[(N)] DATE DATETIME DECIMAL SIGNED [INTEGER] TIME UNSIGNED [INTEGER]
Navicat 实例:
select CONVERT(SYSDATE(),datetime) as datetime , CONVERT(SYSDATE(),date) as date from dual;
select cast(now() as char);select cast((1/3)*100 as UNSIGNED) as percent from dual;--result will be 33
【4】带编码的格式化函数
`CONVERT`(expr USING transcoding_name)
Navicat 实例:
select CONVERT('duifek' USING 'utf8')
【5】字符串转日期
STR_TO_DATE(str,format)
Navicat 实例:
select STR_TO_DATE('2012-02-02 12:12:12','%Y-%m-%d') as date , STR_TO_DATE('2012-02-02 12:12:12','%Y-%m-%d %H:%i:%s') as datetime from dual;
【6】日期格式化
- 日期格式化专用函数
DATE_FORMAT(date,format)
- Navicat 实例:
select DATE_FORMAT(SYSDATE(),'%Y-%m-%d') as date,DATE_FORMAT(SYSDATE(),'%Y-%m-%d %H:%i:%s') as datetimefrom dual;
【7】字符串截取
点击查看字符串截取函数
【8】查看字符串字符集
- 语法格式如下
charset(str);
- Navicat 实例:
select CHARSET("中国");
【9】查看字符串字节长度
- 语法格式如下
length(str);
【10】查看字符串字符长度
- 语法格式如下
cha_length(str);
【11】判断字符串是否包含某个字符串
- 语法格式如下
INSTR (string ,substring )
- 示例如下:
|
返回substring首次在string中出现的位置,不存在返回0。
【12】字符串比较函数
字符串比较是逐字符比较,不区分大小写。
select STRCMP ("中国你好" ,"中国你好" ) ;
相等返回0;大于返回 1 ;小于 返回 -1 。
【13】lpad (str ,length ,pad )
左填充,将字符串按照某个指定的填充方式,填充到指定长度(字符,即中英无关)。
即,重复用pad加在string开头,直到字串长度为length。
select lpad ('hello' ,11 ,'ar' ),lpad ('hello' ,11 ,'国' );
同样存在的还有右填充,rpad (string2 ,length ,pad )
,其他说明同上。
【14】LCASE(string)
将字符串转换为小写。
select LCASE('ABC'),LCASE('abcd'),LCASE('abDEd')
将字符串转换成大写如下:
select ucase(' abc '),UCASE('aBC')
【15】去除字符串两端空格
只能去掉两端,不能去掉中间。
SELECT TRIM(' a b c ');orSELECT trim(' ' FROM ' a b c ');
【16】去除字符串所有空格
语法格式如下:
`REPLACE`(str,from_str,to_str);-- 不只是可以去掉所有空格,replace函数意思用指定to_str替换掉字符串中所有的from_str.
示例如下:
SELECT replace(' a b c ',' ','');
【17】去除左端空格
语法格式如下:
LTRIM(str)
示例如下:
select ltrim(' abc ');
去除右端空格同上,rtrim(' abc ')
。
于此,也可实现去除字符串两端空格。
select RTRIM(LTRIM(' abc ')); or select LTRIM(RTRIM(' abc '));
同样的问题,不能去除字符串内部的空格。
【18】去除指定位置字符串。
TRIM([[BOTH|LEADING|TRAILING] [str]FROM]string);
both : 从字符串两端去除指定str;
leading:从左(前)端去除指定str;
trailing:从右(后)端去除指定str;
both:
SELECT trim(both ' ' FROM ' a b c ');SELECT RTRIM(LTRIM(' a b c '));SELECT trim(' a b c ');
leading
SELECT TRIM(LEADING ' ' FROM ' a b c '),LTRIM(' a b c ');
trailing
SELECT TRIM(trailing ' ' FROM ' a b c '),RTRIM(' a b c ');
【19】LOCATE (substr,str[,position])
从指定位置开始判断字符串中是否存在某个字符串,默认从index=1(第一位)开始查找。
若有,返回index;若无,返回 0。
select LOCATE('abc','abcagabcde'),LOCATE('abc','abcagabcde',2);
【20】REPEAT(str,count )
将字符串重复count次。
select REPEAT('abc',3)
【21】space(count)
生成count个空格。
SELECT concat('abc',repeat(' ',3),'d',SPACE(0));
【22】LOAD_FILE(fileName)
读取指定路径下的文件到内存。
SELECT LOAD_FILE('D:/temDirectory/backup.txt') ;
【23】insert(str,pos,len,newstr)
select insert('abcdefg',3,3,'中国人好'),-- 从index开始的三个字符被newstr替换insert('abcdefg',30,3,'中国人好'),-- index大于字符串长度,返回原字符串insert('abcdefg',3,30,'中国人好'),-- 从index开始的所有字符被newstr替换insert('abcdefg',null,3,'中国人好'),-- index 为null 返回null insert('abcdefg',3,null,'中国人好'),-- pos 为null 返回nullinsert('abcdefg','',3,'中国人好'),-- 无index 返回原字符串insert('abcdefg','','','中国人好'),-- 无index 无pos 返回原字符串insert('abcdefg',3,'','中国人好');-- 从index开始的位置插入newstr
0 0
- Mysql
- MySql
- MYSQL
- MySQL
- mysql
- mysql
- mysql
- mysql
- Mysql
- Mysql
- mysql
- MySQL
- mysql
- Mysql
- mysql
- mysql
- mysql
- mySQL
- HDU 5980 Find Small A
- bitmap的六种压缩方式,Android图片压缩
- WebApi 接口增加备注和测试
- Rhel7.3_Oracle12cR2的RAC搭建安装
- 2.6_路径描边与填充
- MySql
- java中常用的工具类(二)FtpUtil, 汉字转拼音,zip工具类,CollectionUtil,MathUtil,
- 聊下git pull --rebase
- LinkedList源码解析与学习
- EXCEL宏常用的函数等
- 事物代码总结
- 2.7.2_剪纸图形
- Sort Colors
- 远程服务器不显示桌面,只显示一片蓝