ged_2357

2020-06-06   阅读量: 860

SQL

常用函数

扫码加入数据分析学习群

常用函数

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的值...

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
14.9862 1 2 关注作者 收藏

评论(0)


暂无数据

推荐课程