您的位置:老铁SEO > 站长新闻 > 网站技术 >

sql语句获取函数的当前时间_完整的SQL查询语句和示例的集合

文章来源:腾讯新闻

作者:优化

人气:13

2021-11-04 08:58:54

今天是《SQL知识百科》第五讲,主要内容与时间函数相关,包括常用的时间函数、时间提取函数、时间计算函数以及时间与时间戳的转换。

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

常用的时间函数

to_date()函数

函数的作用是:将字符串的日期转换成时间格式的日期,转换后的时间格式如下:

格式

意义

年MM数月月月月缩写DD数日周缩写DY周缩写AM代表上午或下午HH24、HH12 12小时制或24小时制MI分钟SS秒。

例子如下:

从DUAL选择截止日期(' 2006-05-01 19:25336034 ',' YYYY-MM-DD hh243360 mi :s ')

从DUAL选择截止日期(' 2006-05-01 19:25 ',' YYYY-MM-DD HH24:MI ')

从DUAL选择截止日期(' 2006-05-01 19 ',' YYYY-MM-DD HH24 ')

从DUAL选择截止日期(' 2006-05-01 ','年-月-日')

从DUAL选择截止日期(' 2006-05 ','年-月')

从DUAL选择截止日期(' 2006 ',' YYYY ')

current_date()/current_time()

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

selectcordate()#返回值:

# '2020-10-09'

current_timestamp()

Current_timestamp()相当于now()并返回当前时间戳。

时间提取

时间提取功能包括年()、月()、日()、时()、分()、秒()等。它们的用法总是一样的。这些函数返回年、月、日期、时间等。截止日期,范围为1000-9999。当日期为0时,它返回0。

例子如下:

选择年份(“98-02-03”)

#返回值1998。

选择月份(“98-02-03”)

#返回值02。

选择日期(“98-02-03”)

#返回值3。

时间计算函数

DATEDIFF()

语法:DATEDIFF(expr1,expr2)

DATEDIFF()将返回expr 1expr 2的值,该值用于指示两个日期之间的天数。Expr1和expr2都是日期或日期时间表达式。操作中仅使用这些值的日期部分。

SELECT DATEDIFF(' 1997-12-31 23:59:59 ',' 1997-12-30 ')

#返回结果。

一个

date_sub()/date_add()

语法格式:

DATE_ADD(日期、间隔表示单位)

日期_子(日期,间隔表示单位)

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

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

下表列出了每个单位值的expr参数的预期格式。

应为expr格式微秒毫秒秒分钟小时星期月份季度年秒微秒'秒。毫秒' MINUTE _微秒'分钟' MINUTE_SECOND '分钟:秒' HOUs。r _微秒'小时。毫秒' HOUR_SECOND '小时:分钟:秒' HOUR_MINUTE '小时:分钟' DAY _微秒'天。毫秒' DAY_SECOND '日小时:分钟:秒' DAY_MINUTE '日小时:

时间戳

时间戳的定义

Timestamp是自1970年1月1日(UTC/GMT中的午夜)以来经过的秒数,不考虑闰秒。

根据ISO 8601规范,UNIX时间戳的0是1970-01-01t 00336000336000000 z。

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

在大多数UNIX系统中,UNIX时间戳存储为32位,这可能会导致2038年问题或2038年问题。

UNIX_TIMESTAMP(date)

如果不调用任何参数,则以无符号整数的形式返回UNIX时间戳(1970-01-01 00:000:00 ' GMT后的秒),并获得当前时间戳。

如果用date调用UNIX_TIMESTAMP(),将在' 1970-01-01 00:00:00' GMT后以秒的形式返回参数值。DATE可以是日期字符串、DATETIME字符串、时间戳或本地时间的yymmdd或YYMMDD格式的数字。

例如:

SELECTUNIX _时间戳();(执行时间为:2009-08-0610336010336040)。

# 1249524739

SELECTUNIX _时间戳(' 2009-08-06 ');

# 1249488000

rom_unixtime()

from_unixtime(t1,' yyyy-MM-DD hh :MM :s ')

其中t1是10位时间戳值,即从1970-1-1到现在的秒,不允许所谓的13位毫秒。

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

选择from _ unixtime(cast(substring(tistmp,1,10)作为bigint),' yyyy-MM-dd HH') tim,count(*)cn from tengine _ hour _ data

哪里…

select from _ unixtime(cast(TsasBiint))

从临时表

上一篇:word如何插入水印文本_word水印图片

下一篇:没有了

相关文章

在线客服

外链咨询

扫码加我微信

微信:juxia_com

返回顶部