1.字符串函数:
- ASCII(): 返回第一个字符的ASCII码值。
例子:SELECT ASCII('A') AS result;
结果:65
- CONCAT(): 将多个字符串连接在一起。
例子:SELECT CONCAT('Hello', 'World') AS result;
结果:HelloWorld
- CONCAT_WS(): 将多个字符串用指定的分隔符连接在一起。
例子:SELECT CONCAT_WS(', ', 'John', 'Doe', '33') AS result;
结果:John, Doe, 33
- LENGTH(): 返回字符串的长度。
例子:SELECT LENGTH('Hello World') AS result;
结果:11
- LOWER(): 将字符串转换为小写。
例子:SELECT LOWER('HELLO WORLD') AS result;
结果:hello world
- UPPER(): 将字符串转换为大写。
例子:SELECT UPPER('hello world') AS result;
结果:HELLO WORLD
- SUBSTR(): 截取字符串的一部分。
例子:SELECT SUBSTR('Hello World', 1, 5) AS result;
结果:Hello
- REPLACE(): 替换字符串中的一部分。
例子:SELECT REPLACE('Hello World', 'World', 'Universe') AS result;
结果:Hello Universe
- TRIM(): 去除字符串前后的空格。
例子:SELECT TRIM(' Hello World ') AS result;
结果:Hello World
- LPAD(): 在字符串左侧填充指定字符。
例子:SELECT LPAD('123', 5, '0') AS result;
结果:00123
- RPAD(): 在字符串右侧填充指定字符。
例子:SELECT RPAD('123', 5, '0') AS result;
结果:12300
2.数学函数:
- ABS(): 返回一个数的绝对值。
例子:SELECT ABS(-5) AS result;
结果:5
- ROUND(): 将数字四舍五入为指定的位数。
例子:SELECT ROUND(3.1415926, 2) AS result;
结果:3.14
- CEIL(): 返回不小于该数字的最小整数。
例子:SELECT CEIL(3.1415926) AS result;
结果:4
- FLOOR(): 返回不大于该数字的最大整数。
例子:SELECT FLOOR(3.1415926) AS result;
结果:3
- MOD(): 返回两个数的模数。
例子:SELECT MOD(10, 3) AS result;
结果:1
- POWER(): 返回一个数的指数幂。
例子:SELECT POWER(2, 3) AS result;
结果:8
- SQRT(): 返回一个数的平方根。
例子:SELECT SQRT(25) AS result;
结果:5
- EXP(): 返回自然对数e的指数幂。
例子:SELECT EXP(2) AS result;
结果:7.3890560989306495
3.日期和时间函数:
- CURRENT_DATE(): 返回当前日期。
例子:SELECT CURRENT_DATE() AS result;
结果:2023-04-07
- CURRENT_TIMESTAMP(): 返回当前时间戳。
例子:SELECT CURRENT_TIMESTAMP() AS result;
结果:2023-04-07 08:34:35
- YEAR(): 返回年份。
例子:SELECT YEAR('2023-04-07') AS result;
结果:2023
- MONTH(): 返回月份。
例子:SELECT MONTH('2023-04-07') AS result;
结果:4
- DAY(): 返回天数。
例子:SELECT DAY('2023-04-07') AS result;
结果:7
- HOUR(): 返回小时。
例子:SELECT HOUR('08:34:35') AS result;
结果:8
- MINUTE(): 返回分钟。
例子:SELECT MINUTE('08:34:35') AS result;
结果:34
- SECOND(): 返回秒数。
例子:SELECT SECOND('08:34:35') AS result;
结果:35
- FROM_UNIXTIME(): 将时间戳转换为日期时间格式。
例子:SELECT FROM_UNIXTIME(1617792000) AS result;
结果:2021-04-08 00:00:00
- UNIX_TIMESTAMP(): 将日期时间格式转换为时间戳。
例子:SELECT UNIX_TIMESTAMP('2023-04-07 08:34:35') AS result;
结果:1670422475
- DATEDIFF(): 返回两个日期之间的天数差异。
例子:SELECT DATEDIFF('2023-04-07', '2023-04-01') AS result;
结果:6
- DATE_ADD(): 对日期进行加法操作。
例子:SELECT DATE_ADD('2023-04-07', INTERVAL 1 DAY) AS result;
结果:2023-04-08
- DATE_SUB(): 对日期进行减法操作。
例子:SELECT DATE_SUB('2023-04-07', INTERVAL 1 DAY) AS result;
结果:2023-04-06
4.条件函数:
- IF(): 如果条件成立,则返回A,否则返回B。
例子:SELECT IF(3 > 2, 'True', 'False') AS result;
结果:True
- CASE WHEN: 可以根据特定的条件返回不同的结果。
例子:SELECTCASEWHEN score >= 90 THEN 'A'WHEN score >= 80 THEN 'B'WHEN score >= 70 THEN 'C'WHEN score >= 60 THEN 'D'ELSE 'F'END AS resultFROM student_scores;
- 聚合函数:
- AVG(): 返回一组数的平均值。
例子:SELECT AVG(score) AS result FROM student_scores;
- COUNT(): 返回一组数的数量。
例子:SELECT COUNT(*) AS result FROM student_scores;
- MAX(): 返回一组数的最大值。
例子:SELECT MAX(score) AS result FROM student_scores;
- MIN(): 返回一组数的最小值。
例子:SELECT MIN(score) AS result FROM student_scores;
- SUM(): 返回一组数的总和。
例子:SELECT SUM(score) AS result FROM student_scores;
5.其他常用函数:
- COALESCE(): 返回第一个非空值。
例子:SELECT COALESCE(NULL, 'Value', 'Value2') AS result;
结果:Value
- GREATEST(): 返回一组数字中的最大值。
例子:SELECT GREATEST(10, 20, 30) AS result;
结果:30
- LEAST(): 返回一组数字中的最小值。
例子:SELECT LEAST(10, 20, 30) AS result;
结果:10
- FORMAT(): 格式化数字。
例子:SELECT FORMAT(12345.6789, 2) AS result;
结果:12,345.68
- IFNULL(): 如果A不为空,则返回A,否则返回B。
例子:SELECT IFNULL(NULL, 'Value') AS result;
结果:Value
- NULLIF(): 如果A等于B,则返回NULL。
例子:SELECT NULLIF(10, 10) AS result;
结果:NULL
Hive和Mysql通用的常用函数
最新推荐文章于 2024-04-23 19:47:15 发布
本文介绍了SQL中常见的函数,包括字符串函数如ASCII、CONCAT,数学函数如ABS、ROUND,日期和时间函数如CURRENT_DATE、CURRENT_TIMESTAMP等,以及它们的使用示例,帮助读者理解如何在数据库操作中应用这些函数。
摘要由CSDN通过智能技术生成