MySQL教程与SQL优化(一)---常用函数

MySQL教程与SQL优化:常用函数

算数函数

函数作用示例
CEILING(x)向上取整(同CEIL) ,返回值会被转化为一个 BIGINTselect CEILING(3.14) -> 4
CEIL(x)向上取整(同CEILING) ,返回值会被转化为一个 BIGINTselect CEIL(3.14) -> 4
FLOOR(x)向下取整 ,返回值会被转化为一个 BIGINTSELECT FLOOR(1.9) -> 1
ROUND(x)返回与x最接近的整数select ROUND(1.5) -> 2
ROUND(x, d)返回与x最接近的数字,并四舍五入保留d为小数.若d为负数,则处理个位数数字select ROUND(1.55253, 3) -> 1.553. select ROUND(123.456, -1) -> 120
ABS(x)获取x的绝对值select ABS(-100) -> 100
FORMAT(x, d)对数字x格式化并保留d位小数,格式化后的格式为: #,###,###.##SELECT FORMAT(1234567893.141592653, 5) -> 1,234,567,893.14159
MOD(x, y)模操作.返回x 被 y除后的余数 == x% yselect MOD(3, 2) -> 1
POW(x, y)返回x 的y乘方的结果值select POW(2,4) -> 16
RAND()返回一个随机浮点值 v ,范围在 0 到1 之间 (即, 其范围为 0 ≤ v ≤ 1.0)select RAND() -> 0.846639633035883
RAND(x)x被用作种子值,用来产生重复序列select RAND(10) -> 0.6570515219653505

字符串函数

函数作用示例
ASCII(x)返回x首位字符的ascii码值select ASCII(‘ABC’) -> 65
BIN(x)x转换为2进制select BIN(18) -> 10010
BIT_LENGTH(x)返回字符串x的二进制长度select BIT_LENGTH(‘ABC’) -> 24
CHAR(x,y,z…)参数为数字,将数字转化为对应的字符再拼接字符串SELECT CHAR(77,121,83,81,76) -> MySQL
LENGTH(x)返回字符串中字节的数量(中文两字节则数量翻倍)SELECT LENGTH(‘ABCd’) -> 4
CHAR_LENGTH(x)返回字符串中字符的数量SELECT LENGTH(‘我们’) -> 6 select CHAR_LENGTH( ‘我们’)-> 2
CONCAT(x, y,z…)字符串拼接,返回结果为连接参数产生的字符串,如有任何一个参数为NULL,则返回值为 NULLSELECT CONCAT(‘A’, ‘B’, ‘C’, ‘D’) -> ABCD
CONCAT_WS(x, x1,x2,x3…)返回以x分割拼接后的字符串SELECT CONCAT_WS(’@@’,‘A’, ‘B’, ‘C’, ‘D’) -> A@@B@@C@@D
INSERT(x,y,z,d)将字符串x从起始位置y到结束位置z全部替换为字符串d,若任何一个参数为null,则返回值为NULLselect INSERT(‘ABCDEFG’,2,3,‘X’) -> AXEFG
LEFT(x, d)返回字符串从左向右前d位字符组成的字符串(包含第d位)SELECT LEFT(‘ABCDEFG’, 3)-> ABC
RIGHT(x,d)返回字符串从右向左后d位字符组成的字符串(包含第d位)SELECT RIGHT(‘ABCDEFG’, 4) -> DEFG
LOCATE(x, y)返回字符串x在字符串y中存在的起始位置,如果不存在返回0SELECT LOCATE(‘EF’, ‘ABCDEFG’) -> 5
LOWER(x)字符串转小写SELECT lower(‘ABCDEFG’) -> abcdefg
UPPER(x)字符串转大写SELECT upper(‘abcdefg’) -> ABCDEFG
REPEAT(x, d)将x字符串重复拼接d次SELECT REPEAT(‘ABC’, 2) -> ABCABC
REPLACE(x,y,z)字符串替换,将x中的y替换为zSELECT REPLACE(‘www.baidu.com’, ‘w’, ‘a’) -> aaa.baidu.com
REVERSE(x)将字符串x倒置SELECT REVERSE(‘www.baidu.com’) -> moc.udiab.www
SUBSTRING(x, d)返回字符串x从d为截取向后的字符串(包含第d位)SELECT SUBSTRING(‘ABCDEFG’, 3) -> CDEFG
TRIM(x)去除x的前后空格SELECT TRIM(’ ABCDEFG ') -> ABCDEFG

时间与日期函数

函数作用示例
NOW()获取当前日期时间SELECT NOW() -> 2020-07-12 18:30:46
CURDATE()获取当前日期(返回数字则为YYYYMMDD , 字符串则为YYYY-MM-DD)SELECT CURDATE() -> 2020-07-12
CURTIME()获取当前时间(返回数字则为HHMMSS , 字符串则为HH:MM:SS)SELECT CURTIME() -> 18:36:06
DATE(x)获取x中的日期SELECT DATE(now()) -> 2020-07-12
TIME(x)获取x中的时间SELECT TIME(now()) -> 18:38:02
ADDDATE(x, y)在x基础上加上y天后的日期时间SELECT ADDDATE(now(), 31) -> 2020-08-12 18:31:46
ADDTIME(x, y)在x基础上加上y时间后的日期时间SELECT ADDTIME(now(), ‘01:01:01’); -> 2020-07-12 19:33:57
DATEDIFF(x, y)返回x与y相差的天数x-ySELECT DATEDIFF(now(), ‘2020-7-01’) -> 11
DATE_FORMAT(x, d)日期按照d的格式进行格式化 (具体可以查看官方文档)SELECT DATE_FORMAT(now(), ‘%Y-%m-%d’) -> 2020-07-12
DAY(x)获取x是本月的第几天SELECT DAY(now()) -> 12
DAYOFMONTH(x)同DAY(x)SELECT DAYOFMONTH(now()) -> 12
DAYOFWEEK(x)获取x是本周的第几天SELECT DAYOFWEEK(now()) -> 1
DAYOFYEAR(x)获取x是本年的第几天SELECT DAYOFYEAR(now()) -> 194
LAST_DAY(x)获取x月的最后一天SELECT LAST_DAY(now()) -> 2020-07-31

文章中只列举了常用函数,其他MySQL函数可以到官方文档查看: MySQL官方文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值