Mysql-7内置函数


数值函数

1.ROUND函数又叫轮函数用来四舍五入数字

SELECT ROUND(5.73)

这样我们会得到一个整数

SELECT ROUND(5.73,1)

这样是保留一位小数

2.CEILING(上限函数)

用来返回大于或等于某值的最小整数

SELECT CEILING(5.7)

比如这个就会返回6

3.FLOOR(下限函数)

用来返回小于或等于某数的最大整数

4.ABS

用来计算绝对值的函数

5.RAND()

用来生成0-1区间的随机浮点数。

这些是最常用的函数,如果还想看看其他的数值函数可以去网上查

字符串函数

1.LENGTH得到字符串的字符数

2.UPPER/LOWER将字符串转化成大写和小写字母

3.LTRIM(left trim)左修整/RTRIM--移除字符串左侧或右侧的空白字符或者其他预定义字符

4.TRIM删除所有左右两侧的空格

5.LEFT/RIGHT('String',number)返回字符串左侧或右侧的几个字符

6.SUBSTRING('String',起始位置,长度)获取一个字符串中任意位置的字符,如果不定义长度就会返回起始位置之后的全部字符

7.LOCATE返回第一个字符或者一处阿姊夫匹配的位置

SELECT LOCATE('n','Kindergarten')

第一个参数是你要查找的字符(不分大小写)没有符合条件的也会返回0

我们也可以搜索一个字符串

8.REPLACE(原字符串,要替换的字符串,新的字符串)替换字符串

SELECT REPLACE('Kindergarten','garten','garden')

9.CONCAT(‘String1','String2)串联两个字符串

日期函数

1.NOW()调用当前的日期及时间

2.CURDATE()当前的日期

3.CURTIME()当前时间

4YEAR/MOUNTH/DAY()提取日期的年份,月份,号数

5.HOUR/MINUTE/SECOND()返回时间的时分秒。

6.DAYNAME()返回星期几

7.MONTHNAME()返回字符串式的月份

8.EXTRACT()

SELECT EXTRACT(YEAR/MONTH/DAY FROM NOW())

格式化日期和时间

1.DATE_FROMAT()要用到两个参数一个是日期值一个是格式字符串

SELECT DATA_FORMAT(NOW(),'%M/m %d %Y/y')

当是M时会返回字符串式的月份,m则会返回数字

Y会返回4位数的年份,y会返回两位数

计算日期和时间

1.DATE_ADD()给时间日期值添加日期成分

SELECT DATA_ADD(NOW(),INTERVAL 1 DAY)

这是给日期加上一天的时间,也可以是增加一年,一个小时,一个月等等

如果要减去就直接传入负数就可以了

2.DATEDIFF()返回两个日期的间隔

3.TIME_TO_SEC()返回某个时间与零点的间隔(秒数),要计算两个时间的间隔就分别调用函数后减去就行了

IFNULL/COALESCE函数

1.IFNULL用于如果返回值是空值时,更改返回为自定义

SELECT
order_id,
IFNULL(shipper_id,'Not assigned')
FROM orders

如上当其shipper_id为空的时候就会返回我们自定义的字符串而不是NULL

2.COALESCE它与IFNULL的区别是它可以提供一堆值,如果一个为空就去看下一个是否为空,当提供的都为空的时候才返回自定义的值

IF函数

格式:

IF(条件,符合返回的值,其他返回的值)

如果我们不写if将两段数据分开就要写两个查询再用union连接起来而我们使用if就只用写一段查询就够了

.例子

SELECT 
p.product_id,
  p.name,
   COUNT(*) AS orders,
   IF(COUNT(*                                                                                                          )>1,'Many times','Once')
   FROM products p
   JOIN order_items oi USING(product_id)
   GROUP BY product_id,name

case运算符

上面我们学了IF函数,但是IF只有一个判别式所以当我们有多个判别式的时候就可以用case

格式:

SELECT
CASE
WHEN 表达式 THEN 为真返回值
WHEN 表达式2 THEN 为真返回值
......
ELSE 返回值
END AS category
FROM orders



上一篇:【TcaplusDB知识库】数据分批返回示例代码


下一篇:Ceph 用户管理