首页 > 数据库 >SQL中日期与时间类型及函数

SQL中日期与时间类型及函数

时间:2023-02-22 17:24:32浏览次数:33  
标签:00 01 59 函数 日期 时间 SQL date

 一、日期与时间类型

数据类型

含义

对应范围

DATETIME

日期和时间

1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

DATE

日期

1000-01-01~ 9999-12-31

YEAR

1901~2155(4位时)

1970~2069(70~69)(2位时)

TIME

时间

-838:59:59~838:59:59

注意:日期和时间类型的数据需要用“ ”或 ‘ ’括起来;

在MYSQL中日期必须用YYYY-MM-DD格式输入,时间必须用HH:MM:SS格式输入。

二、日期与时间的函数

1、now():返回日期和时间 :输入列最好设置为datetime类型

2、date_format () :更改时间显示格式

        DATE_FORMAT(date,format) date 参数是合法的日期。format 规定日期/时间的输出格式,要用‘’括起来。

格式

描述

%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 位

3、返回当前时间的年份:year(date), date 参数是合法的日期

4、返回当前时间的月份:month(date)

5、返回当前时间的天数:day(date)

6、返回当前时间当月最后一天:last_day(date)

7、返回当前时间当月的总天数:day(last_day(date)

8、返回多少间隔前/后的日期:

  •         date_add(date,INTERVAL expr type) 返回多少间隔后的日期
  •         date_sub(date,INTERVAL expr type) 返回多少间隔前的日期

date是指定的日期,INTERVAL为关键词,expr是具体的时间间隔,type是时间单位。

注意:type可以复合型的,比如YEAR_MONTH。对应复合型的type,需要使用引号对两个参数进行引用起来,中间用任何非数字字符作为间隔即可,并且不能使用负数。

如:

select DATE_SUB(NOW(), INTERVAL 1 DAY) as 一天前;

select DATE_SUB(NOW(), INTERVAL 1 month) as 一个月前;

select DATE_SUB(NOW(), INTERVAL 1 week) as 一周前;

select DATE_SUB(NOW(), INTERVAL 1 year) as 一年前;

select DATE_ADD(NOW(),INTERVAL 1 hour) 一个小时后。

        可用的type表如下:

​编辑

9、计算两个时间的的差值:(间隔日/月/年等)

        datediff函数与timestampdiff函数的区别:

  • datediff(startdate大时间, enddate小时间),求日期差,返回值是相差的天数,不能定位到小时、分钟和秒。

(注意:如果日期1比日期2大,结果为正;如果日期1比日期2小,结果为负)返回类型int其中startdate和enddate 参数是合法的日期表达式。

  • timestampdiff(datepart, startdate小时间, enddate大时间),求时间戳的差,

有参数设置,可以精确到天(DAY)、小时(HOUR),分钟(MINUTE)和秒(SECOND),使用起来比datediff函数更加灵活。对于比较的两个时间,时间小的放在前面,时间大的放在后面。(注意:与diffdate()函数的正、负号规则刚好相反,日期1大于日期2,结果为负,日期1小于日期2,结果为正。)

标签:00,01,59,函数,日期,时间,SQL,date
From: https://www.cnblogs.com/lqyskyline/p/17145161.html

相关文章

  • golang 字符串函数
    1.统计字符串的长度,按字节进行统计packagemainimport"fmt"funcmain(){ vars1string="hello,世界" fmt.Printf("s1字符串的长度为:%v",len(s1))//汉字为......
  • 拦截sql修改表名
    packagecom.xf.config;importcom.alibaba.druid.sql.ast.statement.SQLExprTableSource;importcom.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitorAdapt......
  • linux安装postgresql三种方式
    本文转载自:http://blog.itpub.net/29654823/viewspace-2923532/linux下安装PostgreSQL可采用三种方式,二进制已编绎安装包、安装、源码安装三种方式进行安装方式1:yum安装,......
  • 各种情况的箭头函数 es6 230222
    无参无返回varfn=()=>{console.log(666)}fn()无参有返回varfn=()=>{return123}varres=fn()alert(res)有参无返回varfn=(num1,num2)=>{cons......
  • 使用剩余参数完成不定长参函数定义 es6 230222
    需求定义一个方法接收任意多个参数返回它们的和技能点在形参前加上三个点可以让这个形参变成 数组这个数组可以接收无限多个数据我们可以在方法体中遍历数组进行想要的操作......
  • 主流的NOSQL产品 redis概述
    主流的NOSQL产品键值(key-Value)存储数据库相关产品:TokyoCabinet/TyrantRedisVoldemortBerkeleyDB典型应用:内容缓存只要用于处理大量数据的......
  • vue-day08——vue3介绍、vue3项目创建、setup函数、ref和reactive、计算属性和监听属
    目录一、vue3介绍1.性能的提升2.源码的升级3.拥抱TypeScript4.新的特性5组合式API和配置项API5.1OptionsAPI存在的问题5.2CompositionAPI的优势5.3组合式API和配置......
  • SQLite数据库的可视化
    AndriodStudio中自带了SQLite数据库,但是在操作过程中并不能直观看到我尝试用navicat与它链接但是只得到一个非即时的结果首先我们需要找到SQLite的数据库文件具体位置......
  • Z002错误汇总-远程连接阿里云MySQL出现(10060)错误
    1、我所遇到的问题的根本原因:没有将自己的IP设置到白名单里面; 2、解决方案:第一步:查看自己的IP第二步:复制这个地址,并添加到白名单,问题即解......
  • 【MySQL】012-事务
    一、基本介绍1、概念如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败; 2、操作①开启事务:starttransaction......