SQL中日期格式处理方法大全

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 整理所有的SQL中日期格式处理方法大全

前言:每日记录自己学习SQL的心得和体会~

图片.png

一、获取当前日期

MySQL

1

2

3

4

5

selectnow();  --日期时间格式

selectcurrent_date();  -- 日期格式

selectcurrent_time(); -- 时间格式

selectsysdate();  -- 日期时间格式

selectcurrent_timestamp();  -- 日期时间戳

Hive

1

2

selectcurrent_date()  -- 日期格式

selectcurrent_timestamp()  -- 日期时间格式

sql server

1

2

3

4

5

selectgetdate()

--获得年月日

selectconvert(nvarchar(10),getdate(),120)

--获得年月

selectconvert(nvarchar(7),getdate(),120)

二、日期格式化

格式化可以将不符合要求规范的日期格式字段或字符串类型字段转换为格式化日期。

MySQL

1

2

3

4

5

select  date_format('20230613','%Y-%m-%d');

select  date_format('20230613','%Y-%m-%d %H:%i:%s');

select  date_format(now(),'%Y-%m-%d');

-- 可使用unix_timestamp函数获取 unix 时间戳,使用时间格式转换函数from_unixtime转换为格式日期

selectfrom_unixtime(unix_timestamp('20230613'), '%Y-%m-%d');

Hive

1

2

3

4

5

6

selectdate_format(current_timestamp(),'yyyy-MM-dd'

-- Hive中对月份格式用MM

selectdate_format(current_timestamp(),'yyyy-MM-dd HH:mm:ss')

selectfrom_unixtime(unix_timestamp('2023-06-13', 'yyyy-MM-dd'), 'yyyyMMdd') -- 生成20230613对应格式的日期

-- unix_timestamp返回对应时间戳

selectunix_timestamp() -- 返回当前时间对应的时间戳,时间戳数值可以加减,如一小时3600秒,一天86400秒

sql server

1

2

3

selectconvert(datetime,'YYYY-MM-DD   HH24:MI:SS')

-- cast强制转换

selectcast('YYYY-MM-DD   HH24:MI:SS'   as   datetime)

三、日期转换为字符串

SQL表中存储日期对数据类型有要求,特别是 hive存储日期时间的时候通常用string,所以有时也要实现日期转换为字符串。

MySQL

1

2

3

4

-- 可使用substr字符串切割函数,返回从m开始长度为n的字符串

selectsubstr(now(),1,10);

-- 使用concat字符串拼接函数

selectconcat(substr(now(),1,4),substr(now(),6,2));

Hive

1

2

-- 使用cast强制转换为字符串

selectcast(from_unixtime(unix_timestamp('20230613', 'yyyyMMdd'), 'yyyy-MM-dd') asstring)

sql server

1

2

3

4

5

6

7

8

9

--

selectconvert(nvarchar(10),getdate(),120)

-- 常用格式

Select  CONVERT(varchar(100), GETDATE(), 120)   -- 年月日 时分秒

SelectCONVERT(varchar(100), GETDATE(), 112)   -- 年月日(无分隔符)

SelectCONVERT(varchar(100), GETDATE(), 111)  -- 年月日(分隔符/)

SelectCONVERT(varchar(100), GETDATE(), 102)  -- 年月日(分隔符.)

SelectCONVERT(varchar(100), GETDATE(), 23)  -- 年月日(分隔符-)

SelectCONVERT(varchar(100), GETDATE(), 8)  -- 时分秒

相关文章
|
SQL Oracle 关系型数据库
oracle中字段名与sql关键词重复的处理方法
ORACLE中,如果表中的字段名,正好跟sql中关键词重名,写sql语句时: 1.要将该字段名大写 2.字段名前后要加双引号(注:必须是双引号,单引号将无效) 比如:SELECT * FROM MYTABLE ORDER BY "ORDER"
1848 0
|
SQL 机器学习/深度学习 Windows
DNN安装Microsoft SQL Server, Error:15401处理方法
今天在一台域服务器上安装DNN 时,在SQL 2005中添加Network Service账号总是报错: Create failed for Login “ComputerName\NETWORK SERVICE”(Microsoft.
|
6天前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
3月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
67 13
|
3月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
3月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
48 6
|
2月前
|
SQL 安全 Java
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
230 0
|
3月前
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
148 1
|
3月前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
165 3
下一篇
无影云桌面