SQL学习-数值函数

1.基础函数  

SELECT

ROUND(5.756,2) 四舍五入,保留小数位数

TRUNCATE(5.7345,2) 截断数值

CEILING(5.2) 最小整数

ABS() 绝对值

RAND() 0-1的随机数

更多的可查询:MySQL :: MySQL 8.0 Reference Manual :: 12.6 Numeric Functions and Operators

2.字符串函数

SELECT

LENGTH('sky') 字符串长度

UPPER('sky') 大写     LOWER('Sky') 小写

LTRIM('        sky') 去除左边的空格        RTRIM('sky     ')去除右边的空格

TRIM('s k y ') 删除所有空格

LEFT('Kindergarten',4) 选取左侧4个字符 kind      RIGHT('Kindergarten',4) 选取右侧4个字符 

SUBSTRING('Kindergarten',4,2) 字符截断(开始位置,截断长度)

LOCATE('ten','Kindergarten') 确定一个字符或一串字符的位置

REPLACE('Kindergarten','garten','garden')替换字符/串

CONCAT('first','last') 连接       CONCAT('first',' ','last')中间加空格

更多可查询:

MySQL :: MySQL 5.7 Reference Manual :: 12.8 String Functions and Operators

3.日期函数

SELECT

NOW() 当前的日期+当前的时间 2021/11/10 17:33:01

CURDATE() 当前的日期 2021/11/10

CURTIME() 当前的时间 17:33:01

YEAR(NOW()) 年份 2021   MONTH(NOW()) 月份11 

DAY(NOW()) 天数10 HOUR(NOW()) 17

DAYNAME(NOW()) 字符串日期

EXTRACT调用

SELECT EXTRACT (YEAR FROM NOW())

4.格式化日期和时间

SELECT DATE_FORMAT(NOW(),'%Y %M')

               TIME_FORMAT(NOW(),'%H %M')

更多的可查询:

MySQL :: MySQL 8.0 Reference Manual :: 12.7 Date and Time Functions

5.计算日期和时间

SELECT DATE_ADD(NOW(),INTERVAL 1 DAY/YEAR)

增加一天或者一年

SELECT DATE_SUB(NOW(),INTERVAL 1 DAY/YEAR)

SELECT DATE_ADD(NOW(),INTERVAL -1 DAY/YEAR)

减去一天或者一年

SELECT DATEDIFF('2019-01-05','2019-01-01')

计算时间间隔 天数

SELECT TIME_TO_SEC('09:00')-  TIME_TO_SEC('09:02')

计算时间间隔 秒数

6.IFNULL与COALESCE函数

SELECT

        IFNULL (shipper_id,'Not assigned') AS shipper 如果空值,返回为Not assigned

        COALESCE(shipper_id,comments,'Not assigned') 

        如果空值,返回为默认值,无默认值返回Not assigned

7.IF函数

SELECT

        order_date,加逗号

        IF(

                YEAR(order_date)=YEAR(NOW())-2,

                'active',

                'archived')  AS category 返回一列值

FROM orders

8.CASE函数

SELECT

        order_id,

        CASE

                WHEN YEAR(order_date) =  YEAR(NOW()) THEN 'acttive'

                WHEN YEAR(order_date) =  YEAR(NOW())-1 THEN 'last year'

                WHEN YEAR(order_date) <  YEAR(NOW())-1 THEN 'archied'

                ELSE 'future'

        END AS category

FROM orders

9.创建视图

CREATE VIEW sales_by_client  AS

 SELECT

        .....

FROM table

删除试图 DROP VIEW sales_by_client

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值