SQL常用函数

SQL常用函数

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

函数介绍

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

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

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

函数分类

字符串函数

数值函数

日期和时间函数

流程函数

其它函数

字符串函数

concat(s1,s2...sn)

  • 将传入的字符连接成一个字符串
  • 任何字符串与null进行连接结果都是null
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值

本文分享自微信公众号 - IT那个小笔记(qq1839646816)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大神修炼续,为自己搭建一个分布式 IM 系统二【从查找算法聊起】

    言归正传,上周更新了 cim 第一版:为自己搭建一个分布式的 IM 系统。没想到反响热烈,最高时上了 GitHubTrendingJava 版块的首位,一天收到...

    周萝卜
  • PKW: asyncio 标准库简介(第 4 期)

    ”事情很少有根本做不成的;其所以做不成,与其说是条件不够,不如说是由于决心不够。“ ”Few things are impossible in themselv...

    周萝卜
  • Apollo服务端设计原理剖析

    本文摘自于《Spring Cloud微服务 入门 实战与进阶》一书,文末赠送此书。

    奎哥
  • JS|JavaScript脚本也可固定位置

    “如果不改变<script>标签的位置,如何固定JS的脚本呢”,当我们在网页中写入JavaScript代码时,如果我们每次都必须在其他标签之后嵌入JavaScr...

    算法与编程之美
  • Python可视化Dash教程简译(一)

    “ 作为数据分析的重要一环,把得到的数据或者分析结果以图表的方式展示,是一种直观、优雅的方式。Dash是基于Flask的Python可视化工具,我在学习之余尝试...

    周萝卜
  • Python|赋值、浅拷贝与深拷贝

    在python中一个变量可以说是内存中一个对象的‘标签’或者‘引用’。假设现在有一个变量a。

    算法与编程之美
  • JavaScript 进阶问题列表[每日前端夜话0x95]

    来源:https://github.com/lydiahallie/javascript-questions

    疯狂的技术宅
  • 终于把Apollo存储加密这件事搞定了 | 本月第二次无套路送书!

    一些比较重要的配置信息,比如密码之类的敏感配置,我们希望将配置加密存储,保证安全性。Apollo框架本身没有提供数据加密的功能,如果想要实现数据加密的功能有两种...

    江南一点雨
  • 我去面试python岗位了

    最近换工作了,坐标上海,裸辞,之前早有前辈们说过,"裸辞一时爽,一直裸辞一直爽",这话一点不假,裸辞你要面临没有收入来源,但是每天眼睁睁看着各种花销不断支出的煎...

    Python进阶者
  • 程序员必备 GitHub 使用技巧

    GitHub Pages大家可能都知道,常用的做法,是建立一个gh-pages的分支,通过setting里的设置的GitHub Pages模块可以自动创建该项目...

    江南一点雨

扫码关注云+社区

领取腾讯云代金券