SQL时间转换

--日期转换参数,值得收藏
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608

select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12

select CONVERT(varchar(12) , getdate(), 112 )
20040912

select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12

其它我不常用的日期格式转换方法:

select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004

select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004

select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004

select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004

select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004

select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004

select CONVERT(varchar(12) , getdate(), 108 )
11:06:08

select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1

select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004

select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1

select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177

SQL 中将时间格式转换为 `YYYY-MM-DD` 可以根据不同的数据库系统选择合适的方法实现。以下是几种常见数据库的实现方式。 ### Hive SQL Hive 提供了 `unix_timestamp` 和 `from_unixtime` 函数,可以将字符串 `'YYYYMMdd'` 格式解析为日期,并格式化输出为 `YYYY-MM-DD`: ```sql SELECT from_unixtime(unix_timestamp('20220922', 'yyyyMMdd'), 'yyyy-MM-dd'); ``` 该查询中使用 `unix_timestamp` 将原始字符串转换为 Unix 时间戳,再通过 `from_unixtime` 按照目标格式进行输出 [^1]。 若字段名为 `stat_date`,则可写为: ```sql SELECT from_unixtime(unix_timestamp(stat_date, 'yyyyMMdd'), 'yyyy-MM-dd') AS formatted_date FROM table1; ``` ### Spark SQL Spark SQL 支持类似 Hive 的功能,可以通过 `UNIX_TIMESTAMP` 和 `DATE_FORMAT` 实现相同操作: ```sql SELECT DATE_FORMAT(CAST(UNIX_TIMESTAMP('20161025', 'yyyyMMdd') AS TIMESTAMP), 'yyyy-MM-dd'); ``` 其中 `UNIX_TIMESTAMP` 用于将字符串转换时间戳,`CAST(... AS TIMESTAMP)` 转换时间戳类型,最后使用 `DATE_FORMAT` 按照指定格式输出 [^4]。 ### SQL Server SQL Server 不支持直接的格式化函数,但可以通过 `CONVERT` 函数结合 `CAST` 或 `CONVERT` 两次操作完成转换: ```sql SELECT CONVERT(VARCHAR(10), CAST('20240528' AS DATE), 120); ``` 该语句中先将字符串 `'20240528'` 转换为 `DATE` 类型,再使用样式代码 `120` 输出为 `YYYY-MM-DD` 格式 [^5]。 ### MySQL MySQL 支持 `STR_TO_DATE` 和 `DATE_FORMAT` 函数组合来完成格式转换: ```sql SELECT DATE_FORMAT(STR_TO_DATE('20220922', '%Y%m%d'), '%Y-%m-%d'); ``` `STR_TO_DATE` 用于将字符串解析为日期类型,`DATE_FORMAT` 则将其格式化为 `YYYY-MM-DD` [^3]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值