SQL语句

71 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

今天讲讲 SQL 中一些基本的语句

  • CURDATE()

定义: CURDATE() 函数返回当前的日期。

用法 CURDATE()

SELECT CURDATE(),CURRENT_TIME,NOW()

在这里插入图片描述

  • YEAR()

定义: 函数返回一个指定日期的年份值,范围为1000到9999,如果日期为零,YEAR()函数返回0

SELECT YEAR(NOW()) as YEAR
SELECT YEAR(CURRENT_DATE) as YEAR
*as 是表名称 或 列名称 指定别名
       是自定义的(写不写都行,为了方便看,我写上了)

这两个语句输出的结果一样,获取年份 在这里插入图片描述 相同的

SELECT NOW() as now, MONTH(NOW()) as momth,DAY(NOW()) as day,HOUR(NOW()) as hour,MINUTE(NOW()) as minute,SECOND(NOW()) as second

在这里插入图片描述

  • IF既可以作为表达式用,也可在存储过程中作为流程控制语句使用

IF表达式 如果判断数字为空 可以 is Null IF(expr1,expr2,expr3) 给一个假的身份证号:465256199905186688

-- 查询身份证号中的年份
-- 如果长度是18位,则截取第7位之后的四位,否则返回空
SELECT IF(LENGTH(idCard)=18,SUBSTRING(idCard,7,4),NULL) as year FROM fyh_vvm where id=2

在这里插入图片描述

  • CONCAT()

定义: 函数用于将多个字符串连接成一个字符串

SELECT CONCAT('19',SUBSTRING(idCard,9,2)) as year FROM fyh_vvm where id=2

在这里插入图片描述

-- 获取今年的年龄
SELECT YEAR(NOW()) - if(LENGTH(idCard)=18,SUBSTRING(idCard,7,4),NULL) as age FROM fyh_vvm where id=2

在这里插入图片描述

  • CONCAT_WS()

定义: 由以端到端方式连接或连接两个或多个字符串值所产生的字符串。它使用第一个函数参数中指定的分隔符分隔这些连接的字符串值。(CONCAT_WS表示用分隔符连接。)

注: 函数需要至少两个参数,并且不超过 254 个参数

SELECT CONCAT_WS('/',id,age) FROM fyh_vvm

在这里插入图片描述

  • UNION

  • UNION ALL允许重复的值

定义 操作符用于合并两个或多个 SELECT 语句的结果集

比如这两张表都有id 在这里插入图片描述

SELECT id FROM fyh_vvm UNION SELECT id FROM fyh_user

在这里插入图片描述

  • ORDER BY

定义 对结果集进行排序

DESC降序的关键字

SELECT id FROM fyh_vvm ORDER BY id 

在这里插入图片描述 使用DESC后,通过id降序排列

SELECT id FROM fyh_vvm ORDER BY id DESC

在这里插入图片描述

  • 获取时间格式不是正常模式时,实体类加上@JsonFormat

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;//创建时间

返回的就是

"2021-10-08 17:46:00"