SQL 日期函数

使用Convert()函数:

select convert(char(10),GetDate(),120) as Date

* 第3个参数就是用来设置日期类型数据的显示样式的,下面介绍几种样式的参数:

100   mm dd yyyy

101   mm/dd/yyyy

102   yyyy.mm.dd

103   dd/mm/yyyy

106   dd mm yyyy

108   hh:mi:ss(时间)

111   yyyy/mm/dd

112   yyyymmdd

120   yyyy-mm-dd

常用格式

SELECT CONVERT(varchar(100), GETDATE(), 0) 05  9 2011  9:12AM
SELECT CONVERT(varchar(100), GETDATE(), 1) 05/09/11
SELECT CONVERT(varchar(100), GETDATE(), 2) 11.05.09
SELECT CONVERT(varchar(100), GETDATE(), 3) 09/05/11
SELECT CONVERT(varchar(100), GETDATE(), 4) 09.05.11
SELECT CONVERT(varchar(100), GETDATE(), 5) 09-05-11
SELECT CONVERT(varchar(100), GETDATE(), 6) 09 05 11
SELECT CONVERT(varchar(100), GETDATE(), 7) 05 09, 11
SELECT CONVERT(varchar(100), GETDATE(), 8) 09:13:14
SELECT CONVERT(varchar(100), GETDATE(), 9) 05  9 2011  9:13:14:670AM
SELECT CONVERT(varchar(100), GETDATE(), 10) 05-09-11
SELECT CONVERT(varchar(100), GETDATE(), 11) 11/05/09
SELECT CONVERT(varchar(100), GETDATE(), 12) 110509
SELECT CONVERT(varchar(100), GETDATE(), 13) 09 05 2011 09:13:14:670
SELECT CONVERT(varchar(100), GETDATE(), 14) 09:13:14:670
SELECT CONVERT(varchar(100), GETDATE(), 20) 2011-05-09 09:13:14
SELECT CONVERT(varchar(100), GETDATE(), 21) 2011-05-09 09:13:14.670
SELECT CONVERT(varchar(100), GETDATE(), 22) 05/09/11  9:15:33 AM
SELECT CONVERT(varchar(100), GETDATE(), 23) 2011-05-09
SELECT CONVERT(varchar(100), GETDATE(), 24) 09:15:33
SELECT CONVERT(varchar(100), GETDATE(), 25) 2011-05-09 09:15:33.140
SELECT CONVERT(varchar(100), GETDATE(), 100) 05  9 2011  9:15AM
SELECT CONVERT(varchar(100), GETDATE(), 101) 05/09/2011
SELECT CONVERT(varchar(100), GETDATE(), 102) 2011.05.09
SELECT CONVERT(varchar(100), GETDATE(), 103) 09/05/2011
SELECT CONVERT(varchar(100), GETDATE(), 104) 09.05.2011
SELECT CONVERT(varchar(100), GETDATE(), 105) 09-05-2011
SELECT CONVERT(varchar(100), GETDATE(), 106) 09 05 2011
SELECT CONVERT(varchar(100), GETDATE(), 107) 05 09, 2011
SELECT CONVERT(varchar(100), GETDATE(), 108) 09:16:38
SELECT CONVERT(varchar(100), GETDATE(), 109) 05  9 2011  9:16:38:543AM
SELECT CONVERT(varchar(100), GETDATE(), 110) 05-09-2011
SELECT CONVERT(varchar(100), GETDATE(), 111) 2011/05/09
SELECT CONVERT(varchar(100), GETDATE(), 112) 20110509
SELECT CONVERT(varchar(100), GETDATE(), 113) 09 05 2011 09:17:19:857
SELECT CONVERT(varchar(100), GETDATE(), 114) 09:17:19:857
SELECT CONVERT(varchar(100), GETDATE(), 120) 2011-05-09 09:17:19
SELECT CONVERT(varchar(100), GETDATE(), 121) 2011-05-09 09:17:19.857
SELECT CONVERT(varchar(100), GETDATE(), 126) 2011-05-09T09:17:19.857
SELECT CONVERT(varchar(100), GETDATE(), 131)  6/06/1432  9:17:19:857AM

### SQL 中与日期相关的函数及其用法 在 SQL 中,处理日期和时间的功能非常强大。以下是常见的日期相关函数以及它们的具体使用方法。 #### 1. `GETDATE()` 函数 `GETDATE()` 返回当前的系统日期和时间。 ```sql SELECT GETDATE() AS CurrentDateTime; ``` 此函数通常用于记录操作的时间戳[^1]。 #### 2. `YEAR(date)`、`MONTH(date)` 和 `DAY(date)` 这些函数分别提取给定日期中的年份、月份和日的部分。 ```sql SELECT YEAR('2023-10-05') AS YearValue; -- 结果为 2023 SELECT MONTH('2023-10-05') AS MonthValue; -- 结果为 10 SELECT DAY('2023-10-05') AS DayValue; -- 结果为 5 ``` #### 3. `DATEDIFF(datepart, startdate, enddate)` 计算两个日期之间的差值,支持多种单位(如天、月、年等)。 ```sql SELECT DATEDIFF(day, '2023-01-01', '2023-10-05') AS DaysDifference; -- 计算两日期间的天数差异 ``` 该函数适用于需要比较时间段的应用场景。 #### 4. `DATEADD(datepart, number, date)` 向指定日期添加一段时间间隔。 ```sql SELECT DATEADD(year, 1, '2023-10-05') AS NextYearDate; -- 向日期增加一年 ``` 通过调整参数可以实现灵活的时间偏移运算。 #### 5. `CONVERT(data_type, expression [, style ])` 转换数据类型并可选地设置日期显示样式。 ```sql SELECT CONVERT(VARCHAR, GETDATE(), 101) AS FormattedDate; -- 将日期格式化为 MM/DD/YYYY 形式 ``` 这有助于满足不同地区对日期格式的需求[^3]。 #### 6. `CAST(expression AS data_type)` 将表达式的数据类型显式转换为目标类型。 ```sql SELECT CAST(GETDATE() AS DATE) AS OnlyDatePart; -- 提取日期部分而不含时间 ``` 注意,在执行此类操作时需遵循严格的类型匹配规则[^2]。 以上列举了一些常用的 SQL 日期处理技术,实际应用中可根据具体需求组合运用上述功能来完成复杂的业务逻辑构建工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值