数据库---常见函数

数据库---常见函数

    • 单行函数
        • 字符函数
        • 数学函数
        • 日期函数
        • 其他函数
        • 流程控制函数
    • 分组函数

单行函数

字符函数

1.length()  返回字符串长度,utf-8汉字为3,gbk汉字为2.
SELECT LENGTH('abc');  11
SELECT LENGTH('我abc'); 6

2.concat() 连接n个字符串

SELECT CONCAT('我','爱你') AS 我爱你;

3.substr/SUBSTRING() 获得字符串字串 注意:要区别其他语言的substr 这里的索引是从1开始的

SELECT SUBSTR('我爱中国',1);   我爱中国
SELECT SUBSTR('我爱中国' FROM 1); 我爱中国
SELECT SUBSTR('我爱中国',1,3);  我爱中
SELECT SUBSTR('我爱中国'FROM 1 FOR 3); 我爱中

4.instr 查询子串在字符串的起始位置,索引从1开始,没找到返回0

SELECT INSTR('我爱中国','爱中');  2
SELECT INSTR('123456123456','34'); 3
SELECT INSTR('123456123456','44'); 0

5.trim  把字符串中的特殊字符删除  
  LTRIM 把字符串左边的空字符删除
  RTRIM 把字符串右边的空字符删除

SELECT LENGTH(RTRIM('  张翠山  ')) AS out_put;
SELECT TRIM('aa' FROM 'aaaaaaaaa张翠山aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')  AS out_put;

6.upper/LOWER 把字符串全变成大/小写

SELECT UPPER('abc');  ABC
SELECT LOWER('AaB'); aab

7.lpad/RPAD 左/右填充使得到的字符的个数达到 中间的数值  注意是字符个数不是长度

SELECT LPAD('唐三',11,'胡列娜');  胡列娜胡列娜胡列娜唐三 
SELECT RPAD('唐三',12,'小舞');   唐三小舞小舞小舞小舞小舞

8.replace  把字符串中的子串改变

SELECT REPLACE('胡列娜爱唐三','胡列娜','小舞');  小舞爱唐三

数学函数

1.round  四舍五入 后面可带精度,保留D位小数

SELECT ROUND(-1.55);
SELECT ROUND(1.555555555,3); 1.556 

2.ceil 向上取整,返回>=该参数的最小整数

SELECT CEIL(1.5);2

3.floor 向下取整,返回<=该参数的最大整数

SELECT FLOOR(2.5); 2

3.truncate  保留D位小数,是直接截断

SELECT TRUNCATE(1.555555,3); 1.555

4.mod  取模 支持小数

SELECT MOD(5.2,3); 2.2

日期函数

1.now 获得系统的日期时间 2020-05-26 22:58:51

SELECT NOW();

2.curdate 获得系统日期

SELECT CURDATE();  2020-05-26

3.curtime  获得系统时间

SELECT CURTIME(); 23:01:04

4.year/MONTH/DAY 获得一个DATE的年,月,日部分

SELECT YEAR(CURDATE()) 年,MONTH(CURDATE()) 月, DAY(CURDATE()) 日;

5.monthname  获得一个DATE的月份

SELECT MONTHNAME(CURDATE()); May

6.hour/MINUTE/SECOND 获得一个time的小时,分钟,秒部分

SELECT HOUR(CURTIME()) 小时,MINUTE(CURTIME()) 分钟, SECOND(CURTIME()) 秒;

7.str_to_date  %Y 代表年份  %c 代表月份 %d代表日子

SELECT STR_TO_DATE('2001-05-25','%Y-%c-%d');

8.date_format 把date型日期 换格式

SELECT DATE_FORMAT(CURDATE(),'%Y年 %c月 %d 日'); 2020年 5月 26 日

其他函数

1.version  查看版本号

SELECT VERSION(); 5.5.49

2.database  查看数据库的名字

SELECT DATABASE(); 

3.user; 获得用户

SELECT USER(); 

流程控制函数

1.if     有if ELSE 的效果

SELECT IF(10<5,'大','小'); 小

2.case
CASE 要判断的字段或表达式
WHEN 常量1 THEN 要显示的值1或语句1;
WHEN 常量2 THEN 要显示的值2或语句2;
...
ELSE 要显示的值n或语句n;
END

分组函数

需要对一组数据操作

1.sum() 求和
2.max() 最大值
3 MIN() 最小值
4.avg() 平均值
5.count() 总个数

你可能感兴趣的:(数据库原理)