SQL Date函数

SQL Date 数据类型

SQL Server 使用下列数据类型在数据库中存储日期或日期/时间值:

  • DATE - 格式 YYYY-MM-DD
  • DATETIME - 格式: YYYY-MM-DD HH:MM:SS
  • SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - 格式: 唯一的数字

使用下面的 SELECT 语句:

SELECT GETDATE() AS CurrentDateTime



DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

语法

DATEPART(datepart,date)


 

 

DATEADD() 函数在日期中添加或减去指定的时间间隔。

语法

DATEADD(datepart,number,date)

date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

datepart 参数可以是下列的值:

 

 

 

DATEDIFF() 函数返回两个日期之间的天数。

语法

DATEDIFF(datepart,startdate,enddate)

startdate 和 enddate 参数是合法的日期表达式。

 

 

CONVERT() 函数是把日期转换为新数据类型的通用函数。

CONVERT() 函数可以用不同的格式显示日期/时间数据。

语法

CONVERT(data_type(length),data_to_be_converted,style)

data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。

 

转载于:https://www.cnblogs.com/gui8617788/p/3941498.html

SQL 中有多个与日期相关的函数,不同数据库系统对这些函数的支持可能略有不同,以下是一些常见 SQL 日期函数及其使用方法: ### DATE() 函数 DATE() 函数用于提取日期或日期/时间表达式的日期部分。例如在 MySQL 中: ```sql SELECT DATE('2024-01-01 12:30:00'); ``` 此查询会返回 `2024-01-01`,提取了日期时间字符串中的日期部分 [^2]。 ### NOW() 函数 NOW() 函数返回当前的日期和时间。在 MySQL 中使用示例如下: ```sql SELECT NOW(); ``` 执行该查询会返回当前时刻的日期和时间,格式如 `2024-01-01 12:30:00` [^2]。 ### CURDATE() 函数 CURDATE() 函数返回当前的日期。示例代码如下: ```sql SELECT CURDATE(); ``` 运行后会返回当前的日期,格式为 `YYYY-MM-DD` [^2]。 ### CURTIME() 函数 CURTIME() 函数返回当前的时间。使用示例: ```sql SELECT CURTIME(); ``` 查询结果会返回当前时间,格式为 `HH:MM:SS` [^2]。 ### EXTRACT() 函数 EXTRACT() 函数用于返回日期/时间的单独部分,如年、月、日等。例如提取日期中的年份: ```sql SELECT EXTRACT(YEAR FROM '2024-01-01'); ``` 此查询会返回 `2024` [^2]。 ### DATE_ADD() 函数 DATE_ADD() 函数用于给日期添加指定的时间间隔。例如给 `2024-01-01` 增加 10 天: ```sql SELECT DATE_ADD('2024-01-01', INTERVAL 10 DAY); ``` 结果会返回 `2024-01-11` [^2]。 ### DATE_SUB() 函数 DATE_SUB() 函数用于从日期减去指定的时间间隔。例如从 `2024-01-01` 减去 5 天: ```sql SELECT DATE_SUB('2024-01-01', INTERVAL 5 DAY); ``` 查询结果为 `2023-12-27` [^2]。 ### DATEDIFF() 函数 DATEDIFF() 函数返回两个日期之间的天数。计算 `2024-01-10` 与 `2024-01-01` 之间的天数差: ```sql SELECT DATEDIFF('2024-01-10', '2024-01-01'); ``` 结果为 `9` [^2]。 ### DATE_FORMAT() 函数 DATE_FORMAT() 函数用于用不同的格式显示日期/时间。例如将日期 `2024-01-01` 格式化为 `01-Jan-2024`: ```sql SELECT DATE_FORMAT('2024-01-01', '%d-%b-%Y'); ``` 这里 `%d` 表示月的天(数值),`%b` 表示缩写月名,`%Y` 表示 4 位年份 [^2][^5]。 ### $SYSTEM.SQL.DATE() 方法(以某些数据库为例) DATE 函数和 $SYSTEM.SQL.DATE() 方法都可以接受 ODBC 日期格式字符串,验证输入字符串,若通过验证则返回相应的日期,验证失败则返回 0。验证要求输入字符串必须对应于 ODBC 格式 `yyyy-mm-dd hh:mm:ss.xx`,整个字符串要被解析以获得正确格式,字符串必须包含完整的日期 `yyyy-mm-dd`,前导零可省略或包括,时间部分可选,字符串的每个数字元素都必须包含有效值,日期必须在 `%Library.TimeStamp` 日期范围内(最小日期为 `0001-01-01`,最大日期为 `9999-12-31`)。例如: ```sql -- 假设数据库支持该方法 SELECT $SYSTEM.SQL.DATE('2024-01-01 12:00:00'); ``` 如果输入符合要求,会返回对应的日期 [^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值