📜  如何在 SQL 中获取当前日期和时间?(1)

📅  最后修改于: 2023-12-03 14:52:34.897000             🧑  作者: Mango

如何在 SQL 中获取当前日期和时间?

在 SQL 中,我们经常需要获取当前日期和时间来进行日期计算、时序分析等操作。下面介绍几种获取当前日期和时间的方法:

方法一:使用系统内置函数

SQL 中内置了一些函数可以获取系统日期和时间,如当前年份、月份、日等。这里主要介绍 GETDATE()CURRENT_TIMESTAMP 两个常用函数。

-- 获取当前日期和时间
SELECT GETDATE() AS 'Current DateTime',
       CURRENT_TIMESTAMP AS 'Current Timestamp';

执行结果如下:

| Current DateTime | Current Timestamp | | --------------------- | ------------------------------ | | 2022-08-12 16:18:40.0 | 2022-08-12 16:18:40.0902667 +08 |

方法二:使用 CAST 函数

如果需要获取当前日期或时间的指定格式,可以使用 CAST 函数进行转换。

-- 获取当前日期,格式为 YYYY-MM-DD
SELECT CAST(GETDATE() AS DATE) AS 'Current Date';

-- 获取当前时间,格式为 HH:MM:SS
SELECT CAST(GETDATE() AS TIME) AS 'Current Time';

执行结果如下:

| Current Date | Current Time | | ------------ | ------------ | | 2022-08-12 | 16:18:40 |

方法三:使用 DATEPART 函数

如果需要获取系统时间的某一部分,例如当前年份、月份、日、小时、分钟、秒等,可以使用 DATEPART 函数。

SELECT DATEPART(YEAR, GETDATE()) AS 'Current Year',
       DATEPART(MONTH, GETDATE()) AS 'Current Month',
       DATEPART(DAY, GETDATE()) AS 'Current Day',
       DATEPART(HOUR, GETDATE()) AS 'Current Hour',
       DATEPART(MINUTE, GETDATE()) AS 'Current Minute',
       DATEPART(SECOND, GETDATE()) AS 'Current Second';

执行结果如下:

| Current Year | Current Month | Current Day | Current Hour | Current Minute | Current Second | | ------------ | ------------- | ----------- | ------------ | -------------- | -------------- | | 2022 | 8 | 12 | 16 | 18 | 40 |

以上就是获取当前日期和时间的几种方法,根据实际情况选用。