odps sql 日期函数处理

article/2025/8/9 1:36:19

在这里插入图片描述

日期处理

to_date

  • 命令格式:
    to_date(string, format)
  • 用途:
    将一个字符串按照format指定的格式转成日期值。
 SELECT  to_date('20200401','yyyymmdd');
> 2020-04-01 00:00:00

to_char

  • 命令格式:
    to_char(datetime, format)
  • 用途:
    日期类型按照format指定的格式转成字符串
select TO_CHAR(TO_DATE('20200401','yyyymmdd'),'yyyy-mm-dd');
>2020-04-01
select TO_CHAR('2020-04-01 20:20:20','yyyy-mm-dd');
>2020-04-01
select TO_CHAR('2020-04-01 20:20:20','yyyymmdd');
>20200401
select TO_CHAR('2020-04-01 20:20:20','yyyy-mm-dd hh');
>2020-04-01 20
select TO_CHAR('2020-04-01 20:20:20','yyyymmddhh');
>2020040120
select TO_CHAR('2020-04-01 20:20:20','hh');
>20

datepart

  • 命令格式:
    datepart(datetime, part)
  • 用途:
    提取日期中part指定的部分
  • 参数说明:
    ● datetime: datetime类型,日期值,若输入为string类型会隐式转换为datetime类型后参与运算,其它类型抛异常。
    ● part:string类型常量。支持的pattern包括yyyy、mm、dd、hh、mi、ss,此外也支持扩展的日期格式, 年-“year”, 月-“month”或”mon”, 日-“day”, 小时-“hour”。。不支持的pattern或其它类型会抛异常。
  • 返回值:
    返回值类型为bigint.若任一输入参数为NULL,返回NULL。
select datepart('2020-04-01 20:20:20','yyyy');
>2020
select datepart('2020-04-01 20:20:20','mm');
>4
select datepart('2020-04-01 20:20:20','mi');
>20

时间戳与日期转换

  • 定义
    时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。

日期转时间戳

  • 命令格式:
    unix_timestamp(datetime)
  • 用途:
    日期转化为整型的unix格式的日期时间值
  • 参数说明:
    ● datetime: datetime类型日期值,若输入为string类型会隐式转换为datetime类型后参与运算,其它类型抛异常。
  • 返回值:
    整型unix格式日期值, datetime为NULL时返回NULL
## 日期转化为时间戳 ##
select unix_timestamp('2020-04-01 20:20:20');
> 1585743620
select unix_timestamp('2020-04-01 00:00:00');
>1585670400
SELECT  unix_timestamp(to_date('20200401','yyyymmdd'));
>1585670400

时间戳转化为日期

  • 命令格式:
    from_unixtime(unixtime)
  • 用途:
    将数字型的unix 时间日期值转为DE日期值
select from_unixtime (1585743620) 
>2020-04-01 20:20:20

日期计算函数

dateadd

  • 命令格式:
    dateadd(datetime, delta, datepart)
  • 用途:
    按照指定的单位和幅度修改datetime的值
SELECT  DATEADD('2020-04-01 20:20:20',1,'dd');
>2020-04-02 20:20:20
SELECT  DATEADD('2020-04-01 20:20:20',1,'dd');
>2020-03-31 20:20:20对年修改 yyyy
对月修改 mm
对天修改 dd
对小时修改 hh
对分钟修改 mi
对秒修改 ss

datediff

命令格式:
datediff(endtime, starttime, datepart)
用途:
计算两个时间的差值,并转换成指定的单位,如:秒。

若start = ‘2005-12-31 23:59:59’, end = ‘2006-01-01 00:00:00’: 
select datediff(end, start, 'dd') = 1 
select  datediff(end, start, 'mm') = 1 
select  datediff(end, start, 'yyyy') = 1 
select  datediff(end, start, 'hh') = 1 
select  datediff(end, start, 'mi') = 1 
select  datediff(end, start, 'ss') = 1 

datetrunc

  • 命令格式:
    datetrunc (datetime,format)
  • 用途:
    返回截取后的日期值。
 select datetrunc("2011-12-07 16:28:46", "yyyy")> "2011-01-01 00:00:00" 
select   datetrunc("2011-12-07 16:28:46", "month")
>"2011-12-01 00:00:00" 
select   datetrunc("2011-12-07 16:28:46", "dd")
> "2011-12-07 00:00:00"
select   datetrunc("2011-12-07 16:28:46", "hh");
>2011-12-07 16:00:00
select   datetrunc("2011-12-07 16:28:46", "mi");
>2011-12-07 16:28
select   datetrunc("2011-12-07 16:28:46", "ss");
>2011-12-07 16:28:46

http://chatgpt.dhexx.cn/article/0c2tAxNI.shtml

相关文章

关于sql中处理日期的相关函数

总结工作中用到的SQL 热门SQL下面是一些mysql的时间获取语句:处理时间的函数获取月份、星期、星期数、天数等函数日期的操作函数EXTRACT获取当年有多少天、当前日期已过去天数、获取当前年起始日期字符串转换为日期格式将时间、日期转换为字符串 日期转换函数、时间…

SQL 常用函数整理_日期函数(一)

SQL日期函数 1、DATEADD 函数作用:按照指定的单位datepart和幅度delta修改date的值。 语法示例:dateadd(datetime date, bigint delta, string datepart) 参数说明: date:Datetime类型,日期值。若输入为String类型…

spark sql之日期函数

1.data_format 小时取整 小时相加减 需要注意的是,并不是每一个版本的spark sql都支持interval来修改时间间隔,这里提供另一种方法来 实现时间的增减 from_unixtime:将时间戳转换成当前时间 unix_timestamp:将当前时间转换为时间戳 sel…

ORACLE SQL日期函数

ORACLE SQL日期函数 日期函数: 日期:Oracle中的日期型数据实际含有二个值:日期和时间。 例如:函数SYSDATE返回日期和时间 日期的数学运算 在日期上加上或减去一个数字结果仍为日期。 两个日期相减返回日期之间相差的天数。 -日…

Maxcompute ODPS SQL 日期函数

Maxcompute ODPS SQL 日期函数 日期函数 1.DATEADD --按照指定的单位修改date的值--加1天dateadd(datetime, 1, dd) --减1天dateadd(datetime, -1, dd) --加20个月 --月份溢出,年份增加dateadd(datetime, 20, mm) --2005年2月没有29日 --日期截取当月最后一天datea…

SQL中常用的日期函数

SQL中常用的日期函数 1.getdate()返回当前系统日期 select getdate() --2021-03-19 18:30:33.5632.dateadd(日期部分,常数,日期) 返回将日期的指定日期部分加常数后的结果 datesub(日期部分,常数,日期)返回将日期的指定日期部分…

零基础自学SQL课程 | SQL中的日期函数大全

大家好,我是宁一。 今天是我们的第21课:SQL中的日期函数。 MySQL中内置的日期函数,包括获取日期、日期格式化、日期计算,我们分别来看看。 1、获取日期函数 MySQL内置的获取日期时间函数: SELECT NOW() AS 当前日期时…

SQL数据库的导入和导出

SQL数据库的导入和导出 一、数据库数据的导出 右键要导出数据的数据库→任务→导出数据 点击下一步 选择数据源,默认点击下一步即可 安装需要导出文件类型(此处以EXCEL为例) 选择导出EXCEL文件的路径和名称 原因全部导出,点击下一…

sql连接本地数据库

sql连接本地数据库 安装好SQL 2008后,界面只有已安装的包和正在运行的包 左侧没有数据库,无法进行数据库操作. 这是因为打开软件后,会提示连接一个东西,连接的时候按照默认的话就会连接错。如果出现提示连接成功后的界面只有两个文…

QT-8-使用SQL数据库

数据库(掌握) Qt本身并没有数据库,但是Qt支持市面上绝大多数主流的数据库的连接,前提是运行Qt的电脑上也有对应的数据库产品。 在嵌入式领域、纯软件客户端领域都在使用SQLite数据库作为程序本地数据存储的方式。原因在于SQLite…

SQLServer数据库还原

百度上只有水文,一路下一步,毫无参考价值,只能自己写下来,帮助下童鞋们,上图 找到大门! 这里1号框框为备份文件的路径,就是在备份一文中备份的文件,不知道就去看看,或者继…

sql服务器密码如何显示,如何查看sql数据库密码

如何查看sql数据库密码 内容精选 换一换 tempdb是系统数据库,是一个全局资源,可供连接到 SQL Server 实例或 SQL 数据库的所有用户使用 。它是一个临时数据库,无法永久保存数据,作用是给实例中的各种请求处理中间数据,分为主数据文件(.mdf)、次要数据文件(.ndf)和日志文件…

VS连接SQL server数据库

目录 连接数据库 使用dataGridView控件显示表中的数据。 实现基本CRUD操作 连接数据库 打开vs,点击 视图,打开sql资源管理器,添加SQL Server 输入服务器名称,用户名,密码,进行连接。 如图,就…

sql mysql 删除数据库_如何清除SQL数据库中的数据?

展开全部 清除SQL数据库中的数据可以按照以下步骤进行: 1.首先需要注意的是,在删除数据库文件时,直接进636f707962616964757a686964616f31333365666165入文件夹删除数据库文件,这种行为是十分不准确的。 2.SQL Server中的数据库文…

VB.NET连接SQL数据库

VB.NET与SQL数据库的数据互通 一、准备工作二、VB.NET操作、代码、可能遇到的问题等 一、准备工作 ①本地网络连接的IP地址; ②已安装好的SQL软件(本例使用SQL2014); ③已安装好的Visual Studio 2019软件; ④用于VB.NET连接的数据库(登录名称…

解决SQL数据库无法附加

在附加数据库时遇到“附加数据库出错”。 1.在文件夹中查看需要附加的数据库:2.右键选择“属性”并选择“安全”选项卡:3.点击“编辑”后选择“添加”:4.输入“eve”后点击“检查名称”:5.确定后选中“Everyone”并勾选“完全控制…

SQL 数据库突然变成可疑

如图所示: 服务器上的数据库突然变成可疑,并且打不开。 解决办法: 1、先停掉数据库服务。 2、找到这个数据主数据文件和日志文件所在的位置,并把它们拷贝到一个新的地方(不停数据库服务,文件是禁止拷贝的…

sql数据库 ‘xxxxxx‘ 已存在,请选择其他数据库名称

出现这种报警是因为数据库中已经有了该数据库,因此我们可以重新命名。当然,我们也可以删除已有的数据库,有两种方法: 1、手动删除数据库 选中【数据库】,单击鼠标右键选择【刷新】,如下图所示,…

WinCC读取SQL数据库案例

使用场景:主线上有一台WinCC上位机,各单元有触摸屏,其中WinCC中存储用于自动化产线生产相关的配方数据,在自动生产模式时,将配方数据下发给各单元,在单元脱机模式时,单元内部触摸屏可选择要生产…

如何彻底修改SQL server的数据库名

公司自有的云服务器上的SQL server数据库里,建立了不少项目的数据库,最近需要把一个项目的最新版本代码同步到服务器上,发现本地使用的数据库名,在云服务器上已经存在了,且被用于开发其他项目的demo,为了保…