2020-06-06
阅读量:
1354
常用函数
常用函数
2.1 字符串函数
合并
- CONCAT(str1,str2,...) 把多个文本字符串合并成一个长字符串()
系统默认显示4位小数,将比率转化为百分数显示=concat(比率*100,'%')
用数据库做数据清洗很慢,一般提取出来之后进行清洗
位置
- INSTR(str,substr) 返回子字符串substr在文本字符串str中第一次出现的位置()
- REVERSE(str) 颠倒字符串str的字符顺序并返回
替换、重复
- REPLACE(str,from_str,to_str) 用字符串to_str替换字符串str中的子串from_str并返回
- REPEAT(str,count) 返回由count个字符串str连成的一个字符串
repeat函数会有系统bug的竖线,忽略即可
截取字符
- LEFT(str,len) 返回字符串str的左端len个字符
- RIGHT(str,len) 返回字符串str的右端len个字符
- MID(str,pos,len) 返回字符串str的位置pos起len个字符
- SUBSTRING ( expression, start, length ) 截取字符串
删除空格
- LTRIM(str) 返回删除了左空格的字符串str
- RTRIM(str) 返回删除了右空格的字符串str
- TRIM(str) 返回删除了两边空格的字符串str
大小写转换
- UPPER(str) 返回大写的字符串str
- LOWER(str) 返回小写的字符串str
2.2 数学函数
- ABS(n) 返回n的绝对值
- FLOOR(n) 返回不大于n的大整数值
- CEILING(n) 返回不小于n的小整数值
- ROUND(n,d) 返回n的四舍五入值,保留d位小数(d的默认值为0)
- RAND(n) 返回在范围0到1.0内的随机浮点值(可以使用数字n作为初始值)
不给定值,返回在范围0到1.0内的随机浮点值,执行一次变一次;
给定值(随机种子)可以是任意值,返回0到1.0固定的随机值,多次执行依然不变
2.3 日期时间函数
- DATEDIFF(expr1,expr2) 返回结束日expr1和起始日expr2之间的天数
- DATE(date) 返回指定日期/时间表达式的日期部分或将文本转为日期格式
年、月、季度、周
- WEEK(date) 返回指定日期是一年中的第几周
默认是0-52;参数2为1,返回1-53
- MONTH(date) 返回指定日期的月份
- YEAR(date) 返回指定日期的年份(范围在1000到9999)
- QUARTER(date) 返回指定日期是一年的第几个季度
时间增加减少函数
- DATE_ADD(date, interval expr type)
- ADDDATE(date, interval expr type)
- DATE_SUB(date, interval expr type)
- SUBDATE(date, interval expr type)
对日期时间进行加减运算
date是一个datetime或date值
expr对date进行加减法的一个表达式字符串
type指明表达式expr应该如何被解释
- DATE_FORMAT(date,format)
根据format字符串格式化date值
当前值
- CURDATE() 以'yyyy-mm-dd'或yyyymmdd格式返回当前日期值(根据返回值所处上下文是字符串或数字)
- CURTIME() 以'hh:mm:ss'或hhmmss格式返回当前时间值(根据返回值所处上下文是字符串或数字)
- NOW() 以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回当前日期时间(根据返回值所处上下文是字 符串或数字)
时间戳
- UNIX_TIMESTAMP([date]) 返回一个unix时间戳(从'1970-01-01 00:00:00'开始的秒数,date默认值为当前时间)
输入日期时间值,返回时间戳;默认为当前时间
- FROM_UNIXTIME(unix_timestamp) 以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回时间戳的值(根据返回值所处上下文是字符 串或数字)
输入时间戳,返回日期时间值
2.4 转换函数
- CAST(expression AS data_type)
用于将某种数据类型的表达式显式转换为另一种数据类型,CAST()函数的参数是一个表达式,它包括用 AS关键字分隔的源值和目标数据类型
可以转换的类型有限
- 二进制,同带binary前缀的效果 : BINARY
- 字符型,可带参数 : CHAR()
- 日期 : DATE
- 时间: TIME
- 日期时间型 : DATETIME
- 浮点数 : DECIMAL
- 整数 : SIGNED
- 无符号整数 : UNSIGNED
2.5 分组合并函数
- GROUP_CANCAT([distinct] str [order by str asc/desc] [separator])
将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
2.6 逻辑函数
- IFNULL(expression, alt_value)
判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个 参数的值
- IF(expr1,expr2,expr3)
如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。
- CASE WHEN expr1 THEN expr2 [WHEN expr3 THEN expr4...ELSE expr] END
如果expr1的值为true,则返回expr2的值,如果expr3的值为false,则返回expr4的值...






评论(0)


暂无数据
推荐帖子
1条评论
0条评论