SQL Server中日期时间类型字段只取年月日

本文介绍了使用SQL进行日期格式转换的各种方法,包括不同格式的日期输出,如年月日、时分秒等,并展示了如何通过字符串操作实现更灵活的日期显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 
select CONVERT(varchar(10), datatime1, 120 )2004-09-12 
select CONVERT(varchar(4), datatime1, 120 )+'年'+substring(CONVERT(varchar(10), datatime1, 120 ),6,2)+'月'+substring(CONVERT(varchar(10), datatime1, 120 ),9,2)+'日' from dxck   输入格式如:2004年09月12日
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 Server 中,虽然没有直接提供 `EXTRACT()` 函数来提日期的组成部分,但可以通过其他内置函数实现这一目标。以下是具体的方法: ### 使用 DATEPART() 提年、月、日 `DATEPART()` 是 SQL Server 的一种常用方法,用于从日期中提特定的部分。其语法如下: ```sql DATEPART(datepart, date) ``` 其中,`datepart` 表示要提的时间部分(如年、月、日),而 `date` 则是要操作的具体日期。 #### 示例代码 以下是从某个日期字段中分别提年份、月份和日子的例子: ```sql SELECT DATEPART(year, '2023-10-07') AS YearPart, DATEPART(month, '2023-10-07') AS MonthPart, DATEPART(day, '2023-10-07') AS DayPart; ``` 上述查询的结果将是: | YearPart | MonthPart | DayPart | |----------|-----------|---------| | 2023 | 10 | 7 | 此方法基于提供的引用内容[^3]进行了扩展说明。 --- ### 构造完整的日期字符串 如果需要将这些部分组合成一个格式化的字符串,则可以使用 `CONCAT()` 或者 `FORMAT()` 方法。例如: ```sql -- 使用 CONCAT() SELECT CONCAT(DATEPART(year, GETDATE()), '-', FORMAT(DATEPART(month, GETDATE()), 'D2'), '-', FORMAT(DATEPART(day, GETDATE()), 'D2')) AS FormattedDate; -- 使用 FORMAT() SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') AS FormattedDate; ``` 这两种方式都可以生成类似于 `'YYYY-MM-DD'` 格式的日期字符串。 --- ### 总结 尽管 SQL Server 不支持标准 SQL 的 `EXTRACT()` 函数[^4],但是通过 `DATEPART()` 可以轻松完成类似的任务。对于更复杂的场景或者跨数据库兼容的需求,可以选择更为灵活的方式构建逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值