当前位置:首页 > 生活百科

sql语句获取当前时间的函数(sql查询语句大全及实例)

栏目:生活百科日期:2025-04-03浏览:0

今天是SQL知识大全的第五讲,主要内容是和时间函数相关,主要包括了常用的时间函数,时间提取函数,时间计算函数以及时间和时间戳之间的转换。

常用的时间函数

to_date()函数

to_date()函数将字符串的日期转换为时间格式的日期,转换后的时间格式可以是如下形式:

格式
意义
YEAR 年的拼写MM 数字月MONTH 月的全拼MON 月的缩写DD 数字日DAY 星期的全拼DY 星期的缩写AM 表示上午或者下午Hh34、HH12 12小时制或24小时制?MI 分钟??SS 秒钟???

具体示例如下:

SELECT TO_DATE('2006-05-01 19:25:34', 'YYYY-MM-DD Hh34:MI:SS') FROM DUALSELECT TO_DATE('2006-05-01 19:25', 'YYYY-MM-DD Hh34:MI') FROM DUALSELECT TO_DATE('2006-05-01 19', 'YYYY-MM-DD Hh34') FROM DUALSELECT TO_DATE('2006-05-01', 'YYYY-MM-DD') FROM DUALSELECT TO_DATE('2006-05', 'YYYY-MM') FROM DUALSELECT TO_DATE('2006', 'YYYY') FROM DUAL

current_date()/current_time()

返回当前时间,某年某月某日,current_time()等同于current_date。

SELECTCURDATE()# 返回值:# '2020-10-09'?

current_timestamp()

current_timestamp()相当于now(),返回当前的时间戳。

时间提取

时间提取函数包括year(),month(),day(),hour(),minute(),second()等,其用法都是一直的,这些函数分别返回 date 的年份,月份,日期,时间等,范围为1000-9999。当 date 为0时,返回0。

具体示例如下:

SELECT YEAR('98-02-03')# 返回值  1998SELECT MONTH('98-02-03')# 返回值  02SELECT DAY('98-02-03')#返回值3

时间计算函数

DATEDIFF()

语法:DATEDIFF(expr1,expr2)

DATEDIFF()将返回expr1 &– expr2的值,用来表示两个日期相差的天数。expr1 和 expr2 都是日期或日期时间表达式。运算中只用到了这些值的日期部分。

SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30')#返回结果1

date_sub()/date_add()

语法格式:

DATE_ADD(date,INTERVAL expr unit)

DATE_SUB(date,INTERVAL expr unit)

执行日期计算的两种函数。date 是一个用来指定开始日期的 DATETIME 或 DATE 值。expr 是一种以字符串形式呈现的表达式,用来指定从开始日期增加或减少的间隔值。如果是负的间隔值,则 expr 值的第一个字符是-号。unit 是一个单位关键字,用来指定expr表达式应该采取的单位。

INTERVAL 关键字与单位说明符都不区分大小写。

下表列出了每个单位数值所对应的 expr 参数的期望格式。

单位所能取的值期望的expr格式MICROSECOND毫秒SECOND秒MINUTE分HOUR小时DAY日WEEK周MONTH月QUARTER季度YEAR年SECOND_MICROSECOND&’秒.毫秒&’MINUTE_MICROSECOND&’分.毫秒&’MINUTE_SECOND&’分:秒&’HOUR_MICROSECOND&’小时.毫秒&’HOUR_SECOND&’小时:分:秒&’HOUR_MINUTE&’小时:分&’DAY_MICROSECOND&’日.毫秒&’DAY_SECOND&’日 小时:分:秒&’DAY_MINUTE&’日 小时:分&’DAY_HOUR&’日 小时&’YEAR_MONTH&’年-月&’

时间戳

时间戳的定义

时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z.

一个小时表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。

在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题或Y2038。

UNIX_TIMESTAMP(date)

若无参数调用,则返回一个 Unix timestamp (&‘1970-01-01 00:00:00&’ GMT 之后的秒数) 作为无符号整数,得到当前时间戳 。

若用date 来调用 UNIX_TIMESTAMP(),它会将参数值以&’1970-01-01 00:00:00&′ GMT后的秒数的形式返回。date 可以是一个 DATE 字符串、一个 DATETIME字符串、一个 TIMESTAMP或一个当地时间的YYMMDD或YYYMMDD格式的数字。

例如:

SELECTUNIX_TIMESTAMP();(执行时的时间:2009-08-0610:10:40)# 1249524739SELECTUNIX_TIMESTAMP('2009-08-06');# 1249488000

from_unixtime()

from_unixtime(t1,’yyyy-MM-dd HH:mm:ss’)

其中t1是10位的时间戳值,即1970-1-1至今的秒,而13位的所谓毫秒的是不可以的。

对于13位时间戳,需要截取,然后转换成bigint类型,因为from_unixtime类第一个参数只接受bigint类型。例如:

select from_unixtime(cast(substring(tistmp,1,10) as bigint),’yyyy-MM-dd HH’) tim ,count(*) cn fromttengine_hour_datawhere…SELECTfrom_unixtime(cast(tsASbigint))FROM temptable

“sql语句获取当前时间的函数(sql查询语句大全及实例)” 的相关文章

seo技术有哪些(月入10万的黑帽SEO技术分享)

最近有许多刚接触黑帽seo的盆友问我一个问题,黑帽站群是什么?黑帽站群主要是做什么的?效果怎么样?所以今天优化狂人给大家简单介绍一下黑帽seo站群技术!一、什么...

如何推广自己的微店,微店推广的六种技巧

微店推广微店是移动端的新商机,是创业人士和兼职人士的新机遇,是互联网到移动端的转移。运营推广是商品流转化为资金流的重要一环,以下便为微店推广的6大方式。友情店铺...

如何做好品牌推广,品牌推广的要点和要素

很多人问,如何快速的把一个品牌推广出去?其实,提出这个问题的人意思很明显:就是怎么找渠道,特别是怎么去做传播!但残酷的实情是,很多时候,做了很多传播,活动,广告...

tutorabc学英语效果怎么样(线上英语课平台推荐)

tutorabc怎么样,收费这么贵效果真的好吗?在国际化的今天,英语早已成为一门很重要的语言,无论是日后寻找外企工作,还是出国深造,有英语傍身,都绝对是加分的。...

windows密钥激活步骤(win8系统激活教程)

其实无论是国内的淘宝还是国外的eaby等电商平台上,都会有很多所谓正版的Windows10激活码出售,而且价格十分便宜,国内也就5元,但其实明眼人都知道这绝不可...

一千元摆地摊卖什么好,三种让你月入过万的小本生意

2020年疫情在国内虽然控制住了,但是各大市场都相继受到不小的影响,为了振兴经济,政府大力支持民众摆地摊赚钱,这也成为2020疫情过后最火商机。那么,2020年...

刚毕业的大学生怎么找工作(应届毕业生必知找工作的技巧

又是大学毕业季,那么作为应届毕业生,你会通过什么渠道找工作呢?毕业生找工作前,应该做哪些准备?今天来分享一下经验,希望能帮你快速找到自己喜欢的工作。首先,准备一...

产品需求分析包括哪几个部分(最核心的6个部分)

通常意义上的需求分析,是指我们需要在产品层面体现出来的操作,视觉,系统处理等。但是,实际需求分析是指向需求的本质,挖掘出需求方背后真正的诉求。这有点像含蓄的中国...

安卓手机微信聊天记录怎么迁移,只需要这四步就可以了

随着时代的发展,如今手机的更新速度和以前相比已经不可同日而语了,一部手机,使用2年已经不错了。换新手机当然是件开心的事情,但是换了手机后又不想丢失原来手机上保存...

mac桌面快捷键怎么设置(mac多桌面使用技巧)

Mac电脑在切换输入法时,是要费一些时间的。怎么节省这部分消耗的时间就需要自动切换输入法,来帮助我们了。它不仅有快捷键一键切换输入法,还有APP对应式的自动化切...