前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL常用函数

SQL常用函数

作者头像
木瓜煲鸡脚
发布2019-07-30 11:39:37
5940
发布2019-07-30 11:39:37
举报
文章被收录于专栏:Jasper小笔记

SQL常用函数

  1. 函数介绍
  2. 函数分类
  3. 字符串函数
  4. 数值函数
  5. 日期和时间函数
  6. 流程函数
  7. 其他常用函数

函数介绍

事先提供好的一些功能可以直接使用

函数可以用在SELECT语句及其子句

也可以用在UPDATE,DELETE语句当中。

函数分类

字符串函数

数值函数

日期和时间函数

流程函数

其它函数

字符串函数

concat(s1,s2...sn)

  • 将传入的字符连接成一个字符串
  • 任何字符串与null进行连接结果都是null
代码语言:javascript
复制
SELECT CONCAT("ab","cd");

CONCAT("ab","cd")

abcd

insert(str,x,y,instr)

  • 将字符串str从x位置开始,y个字符长的子串替换为指定的字符

INSERT("abcde",2,3,"12345")

a12345e

LOWER(Str)和UPPER(str)

  • 将字符串转成小写或大写

LOWER("acBdF")

UPPER("FdCsc")

acbdf

FDCSC

LEFT(str,x)和RIGHT(str,x)

  • 分别返回字符串最左边的x个字符和最右边的x个字符
  • 如果第二个参数为null,那么不返回任何字符

LEFT("abcd",2)

RIGHT("abcd",2)

ab

cd

LPAD(str,n,pad)和RPAD(str,n,pad)

  • 用字符串pad对str最左边或最右边进行填充,直接到长度为n个字符长度

LPAD("abc",7,"123")

RPAD("abc",7,"123")

1231abc

abc1231

LTRIM(str)、RTRIM(str)、TRIM(str)

  • 去掉字符串当中最左侧、最右侧的空格、去掉字符串左右的空格

REPEAT(str,x)

  • 返回str重复x次的结果

REPEAT("abc",3)

abcabcabc

REPLACE(str,a,b)

  • 用字符串b替换字符串str中所有出现的字符串a.

REPLACE("abcdab","ab","123")

123cd123

SUBSTRING(str,x,y)

  • 返回字符串str中第x位置起y个字符长度的字符

SUBSTRING("abcde",2,3)

bcd

数值函数

ABS(x)

  • 返回X的绝对值

ABS(-45)

45

CEIL(x)

  • 小数不为零部分上取整,即向上取最近的整数

CEIL(2.3)

3

FLOOR(x)

  • 小数部分下取整,即向下取最近的整数

FLOOR(2.7)

2

MOD(X,Y)

  • 返回X/Y的模

MOD(4,3)

1

RAND()

  • 返回0-1内容的随机值

RAND()

0.6311537890053855

时间和日期函数

CURDATE()

  • 返回当前日期,只包含年月日

CURDATE()

2019-7-26

CURTIME()

  • 返回当前时间,只包含时分秒

CURTIME()

15:59:17

UNIX_TIMESTAMP(DATE)

  • 返回当前日期的时间戳

UNIX_TIMESTAMP("1998-1-20")

885225600

FROM_UNIXTIME(unixtime)

  • 将一个时间戳转换成日期

FROM_UNIXTIME(885225600)

1998-01-20 00:00:00

WEEK(DATE)

  • 返回当前是一年中的第几周

WEEK("2019-7-26")

29

YEAR(DATE)

  • 返回所给日期是那一年

YEAR("2019-7-26")

2019

HOUR(TIME)

  • 返回当前时间的小时

HOUR("16:32")

16

MINUTE(TIME)

  • 返回当前时间的分钟

MINUTE("16:32")

32

DATE_FORMAT(date,fmt)

  • 按字符串格式化日期date值

DATE_FORMAT(now(),"%M,%D,%Y")

July,26th,2019

%a

缩写星期名

%b

缩写月名

%c

月,数值

%D

带有英文前缀的月中的天

%d

月的天,数值(00-31)

%e

月的天,数值(0-31)

%f

微秒

%H

小时 (00-23)

%h

小时 (01-12)

%I

小时 (01-12)

%i

分钟,数值(00-59)

%j

年的天 (001-366)

%k

小时 (0-23)

%l

小时 (1-12)

%M

月名

%m

月,数值(00-12)

%p

AM 或 PM

%r

时间,12-小时(hh:mm:ss AM 或 PM)

%S

秒(00-59)

%s

秒(00-59)

%T

时间, 24-小时 (hh:mm:ss)

%U

周 (00-53) 星期日是一周的第一天

%u

周 (00-53) 星期一是一周的第一天

%V

周 (01-53) 星期日是一周的第一天,与 %X 使用

%v

周 (01-53) 星期一是一周的第一天,与 %x 使用

%W

星期名

%w

周的天 (0=星期日, 6=星期六)

%X

年,其中的星期日是周的第一天,4 位,与 %V 使用

%x

年,其中的星期一是周的第一天,4 位,与 %v 使用

%Y

年,4 位

%y

年,2 位

DATE_ADD(date,interval expr type)

  • 给日期加上一个值

DATE_ADD("1998-1-20",INTERVAL 3 DATE)

1998-1-23

DATEDIFF(date1,date2)

  • 计算两个日期相差的天数

DATEDIFF("2000-3-20","1998-2-18")

761

流程函数

IF(value,t,f)

  • 如果value是真,返回t,否则返回f

IF(2>3,aa,bb)

bb

IFNULL(value1,value2)

  • 如果value1不为空,返回value1否者返回value2

IFNULL(20,0)

20

CASE WHEN THEN END

CASE WHEN 2>3 THEN "aa" ELSE "bb" END

bb

其他函数

DATABASE()

  • 返回当前数据库名

VERSION()

  • 返回当前数据库版本

USER()

  • 返回当前登陆用户名

PASSWORD(STR)

  • 对str进行加密

MD5()

  • 返回str的MD5值
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT那个小笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档