--Mysql函数笔记
1: concat() -->字符串连接函数
select concat('Test','Mysql'); --> TestMysql
2: concat_ws() -->使用指定的分割符进行字符连接
select concat_ws('|','Test','Mysql'); -->Test|Mysql
3: format() -->数字格式化
select format(123456.78,1); -->123456.8
4: lower() -->转化为小写字母
5:upper() -->转换为大写字母
6: left() -->获取左侧字符
select left('ASDFGHJKL',3); -->ASD
7: right() -->获取右侧字符
8: ltrim() -->去除左侧前导空格
9:rtrim() -->去除右侧后导空格
10: length() -->获取字符串长度
11: trim() -->删除字符串的前后空格
-->删除在一个字符串中指定的字符
select trim(leading '?' from '??Mysql??'); --> Mysql?? (leading '?' 前面的?)
select trim(both '?' from '??My?sql??'); --> Msql?sql (both '?' 两端的)
12: replace() -->字符串的替换
select replace('???My??sql???','?',''); -->Mysql
13: substring() -->字符串的截取
14: like
select * from test where first_name like '%1%%' escape '1'; -->表示1后面的第一个%是一个字符串
15: DIV -->整数除法
select 3 div 4; -->0
select 3/4; -->0.75
16: mod -->取余数
17: truncate() -->数字截断
select truncate(159.28,1); -->159.2
18:find_in_set() --> 字符串包含操作(,)
select * from dual where find_in_set("1",strs); --> strs 中包含1 返回记录,否则NULL
19:TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
第一个参数为:
- FRAC_SECOND。表示间隔是毫秒
- SECOND。秒
- MINUTE。分钟
- HOUR。小时
- DAY。天
- WEEK。星期
- MONTH。月
- QUARTER。季度
- YEAR。年
select timestampdiff(day,'2017-09-27','2017-10-22'); ---> 25
20:
CAST和
CONVERT
select CAST('123' as int) ; -- 123
select CONVERT(int, '123'); -- 123
select CAST(123.4 as int) ; -- 123
select CONVERT(int, 123.4) ; -- 123
select CAST('123.4' as int);
select CONVERT(int, '123.4');
-- Conversion failed when converting the varchar value '123.4' to data type int.
select CAST('123.4' as decimal); -- 123
select CONVERT(decimal, '123.4') ;-- 123
select CAST('123.4' as decimal(9,2)) ; -- 123.40
select CONVERT(decimal(9,2), '123.4') ;-- 123.40
declare @Num money
set @Num = 1234.56
select CONVERT(varchar(20), @Num, 0); -- 1234.56
select CONVERT(varchar(20), @Num, 1) ; -- 1,234.56
select CONVERT(varchar(20), @Num, 2) ; -- 1234.5600