MySQL数据库常用的内置函数 字符函数 数值函数 日期函数 流程函数

1.字符函数

1.1 concat(str1,str2)

字符串拼接函数,会将str1,str2两个字符串拼接

select concat('hello ','word!')
输出                hello word!

1.2 lower(str)

字符转为小写的函数,会将str中 可以 转为小写的字符转为小写,

select lower('11ABCDee@!?中')
输出            11abcdee@!?中

1.3 upper(str)

字符转为大写的函数,会将str中 可以 转为大写的字符转为大写,

select upper('11ABCDee@!?中')
输出            11ABCDEE@!?中

1.4 lpad(str,n,pad)

LPAD 是一个用于字符串操作的 SQL 函数,它用于在字符串的左侧填充指定的字符,以达到特定的长度。

LPAD(str, n,pad) 中:

  • str 是要进行填充的原始字符串。
  • n 是目标字符串的总长度。
  • pad 是用于填充的字符。
    这个函数的作用是将字符串 str 的左侧用字符 pad 填充,直到整个字符串的长度达到 n
select lpad('01',5,'-')
输出              ---01

1.5 rpad(str,n,pad)

RPAD 是一个用于字符串操作的 SQL 函数,它用于在字符串的左侧填充指定的字符,以达到特定的长度。

RPAD(str, n,pad) 中:

  • str 是要进行填充的原始字符串。
  • n 是目标字符串的总长度。
  • pad 是用于填充的字符。
    这个函数的作用是将字符串 str 的右侧用字符 pad 填充,直到整个字符串的长度达到 n
select rpad('01',5,'-')
输出              01---

1.6 trim(str)

作用为去除字符串开头和结尾的空格

select trim('  111111   ')
输出                111111    

1.7 substring(str,start,len)

SUBSTRING 是一个用于提取字符串的 SQL 函数。它根据指定的位置和长度,从一个字符串中提取出子字符串。

SUBSTRING(str,start,len) 中:

  • str 是要进行提取的原始字符串。
  • start 是起始位置,表示从字符串的第一个字符开始提取(注意:在 SQL 中,字符串索引通常是从 1 开始的)。
  • len 是要提取的字符数量。

这段代码的作用是从字符串 str 中,从第start个字符开始提取 len 个字符。结果将是 '12345'

select substring('1234567890',1,5)
输出						12345

2.数值函数

以下是数据库中常用的五个数学函数:CEILFLOORMODRANDROUND,以及每个函数的简要介绍和示例 SQL 语句。

2.1. CEIL

功能: CEIL(或 CEILING)函数返回大于或等于指定数字的最小整数。

示例 SQL:

SELECT CEIL(5.3) AS CeilValue; -- 返回 6

执行结果:

+-----------+
| CeilValue |
+-----------+
|         6 |
+-----------+

2.2. FLOOR

功能: FLOOR 函数返回小于或等于指定数字的最大整数。

示例 SQL:

SELECT FLOOR(5.8) AS FloorValue; -- 返回 5

执行结果:

+-----------+
| FloorValue|
+-----------+
|         5 |
+-----------+

2.3. MOD

功能: MOD 函数返回两个数相除后的余数。

示例 SQL:

SELECT MOD(10, 3) AS ModValue; -- 返回 1

执行结果:

+----------+
| ModValue |
+----------+
|        1 |
+----------+

2.4. RAND

功能: RAND 函数返回一个介于 0 和 1 之间的随机浮点数。

示例 SQL:

SELECT RAND() AS RandomValue; -- 返回一个随机数,如 0.345678

执行结果:

+---------------------+
| RandomValue         |
+---------------------+
| 0.345678            | -- 这是一个示例,具体值会因执行而异
+---------------------+

2.5. ROUND

功能: ROUND 函数将数字四舍五入到指定的小数位数。

示例 SQL:

SELECT ROUND(5.6789, 2) AS RoundValue; -- 返回 5.68

执行结果:

+-----------+
| RoundValue|
+-----------+
|      5.68 |
+-----------+

3. 日期函数

在 SQL 中,有许多函数用于处理日期和时间。这些函数可以帮助我们获取当前日期和时间、进行日期计算和提取日期的特定部分。以下是一些常用的日期和时间函数,包括 CURDATECURTIMENOWYEARMONTHDAYDATE_ADDDATEDIFF,以及它们的示例 SQL 语句和执行结果。

3.1. CURDATE

功能: 返回当前日期,格式为 YYYY-MM-DD

示例 SQL:

SELECT CURDATE() AS CurrentDate;

执行结果 (假设今天是 2023-10-03):

+-------------+
| CurrentDate |
+-------------+
| 2023-10-03  |
+-------------+

3.2. CURTIME

功能: 返回当前时间,格式为 HH:MM:SS

示例 SQL:

SELECT CURTIME() AS CurrentTime;

执行结果 (假设当前时间是 14:30:00):

+------------+
| CurrentTime|
+------------+
| 14:30:00   |
+------------+

3.3. NOW

功能: 返回当前的日期和时间,格式为 YYYY-MM-DD HH:MM:SS

示例 SQL:

SELECT NOW() AS CurrentDateTime;

执行结果 (假设当前时间是 2023-10-03 14:30:00):

+---------------------+
| CurrentDateTime     |
+---------------------+
| 2023-10-03 14:30:00 |
+---------------------+

3.4. YEAR

功能: 从日期中提取年份。

示例 SQL:

SELECT YEAR('2023-10-03') AS YearValue;

执行结果:

+-----------+
| YearValue |
+-----------+
|      2023 |
+-----------+

3.5. MONTH

功能: 从日期中提取月份。

示例 SQL:

SELECT MONTH('2023-10-03') AS MonthValue;

执行结果:

+-----------+
| MonthValue|
+-----------+
|         10|
+-----------+

3.6. DAY

功能: 从日期中提取天数。

示例 SQL:

SELECT DAY('2023-10-03') AS DayValue;

执行结果:

+----------+
| DayValue |
+----------+
|        3 |
+----------+

3.7. DATE_ADD

功能: 在给定日期上添加指定的时间间隔。

示例 SQL:

SELECT DATE_ADD('2023-10-03', INTERVAL 10 DAY) AS NewDate;

执行结果:

+------------+
| NewDate    |
+------------+
| 2023-10-13 |
+------------+

3.8. DATEDIFF

功能: 计算两个日期之间的差异(以天数为单位)。

示例 SQL:

SELECT DATEDIFF('2023-10-13', '2023-10-03') AS DateDifference;

执行结果:

+------------------+
| DateDifference   |
+------------------+
|                10|
+------------------+

4.流程函数

在 SQL 中,IFIFNULLCASEWHEN 等函数用于条件判断和处理,能够根据不同的条件返回不同的结果。以下是对这些函数的详细介绍及示例。

4.1. IF

功能: IF 函数根据条件返回两个值中的一个。

示例 SQL:

SELECT IF(1 > 0, 'True', 'False') AS Result; 

执行结果:

+--------+
| Result |
+--------+
| True   |
+--------+

4.2. IFNULL

功能: IFNULL 函数用于检查一个值是否为 NULL,如果是,则返回一个指定的替代值;否则返回该值本身。

示例 SQL:

SELECT IFNULL(NULL, 'Default Value') AS Result; 

执行结果:

+----------------+
| Result         |
+----------------+
| Default Value  |
+----------------+

4.3. CASE

CASE 是一个条件表达式,允许多条件判断。

4.3.1普通用法

功能: CASE 用于在 SQL 查询中实现条件逻辑。

示例 SQL:

SELECT 
    CASE 
        WHEN 1 > 0 THEN 'Positive' 
        WHEN 1 < 0 THEN 'Negative' 
        ELSE 'Zero' 
    END AS NumberSign;

执行结果:

+-------------+
| NumberSign  |
+-------------+
| Positive    |
+-------------+

4.3.2 延申用法

SELECT (CASE
            when score >= 90 then '优秀'
            when score < 90 and score >= 80 then '良好' end) as '成绩'

如果 score>=90则展示

+-------------+
| 成绩        |
+-------------+
| 优秀        |
+-------------+

如果 score>=80 且 score<90则展示

+-------------+
| 成绩        |
+-------------+
| 良好        |
+-------------+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值