领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

SQLite - 日期时间函数 - DATE(sql日期函数使用方法)

nixiaole 2025-03-20 17:24:58 知识剖析 7 ℃

在 SQLite 中,DATE 函数是一个非常实用的日期处理函数,它可以用来处理日期和时间相关的操作,如提取日期、对日期进行计算和格式化等。以下是关于 DATE 函数的详细使用方法及示例。

基本语法

DATE 函数的基本语法有以下几种形式:

1. 提取日期部分

DATE(timestamp_value)
  • timestamp_value:可以是一个日期时间字符串,也可以是一个符合 SQLite 日期时间格式的表达式,该函数会从这个值中提取出日期部分。

2. 对日期进行计算

DATE(timestamp_value, modifier1, modifier2, ...)
  • timestamp_value:同样是日期时间字符串或表达式。
  • modifier1, modifier2, ...:是可选的修饰符,用于对日期进行计算,如添加或减去一定的时间间隔。常见的修饰符有:'+N days':表示在原日期基础上加上 N 天。'-N days':表示在原日期基础上减去 N 天。'+N months':表示在原日期基础上加上 N 个月。'-N months':表示在原日期基础上减去 N 个月。'+N years':表示在原日期基础上加上 N 年。'-N years':表示在原日期基础上减去 N 年。'start of month':将日期调整到所在月的第一天。'start of year':将日期调整到所在年的第一天。

使用示例

1. 提取日期部分

-- 从日期时间字符串中提取日期
SELECT DATE('2024-10-15 12:30:00');
-- 输出结果为 '2024-10-15',只提取了日期部分

-- 从表中提取日期列的日期部分
CREATE TABLE events (
    event_id INTEGER PRIMARY KEY,
    event_datetime TEXT
);
INSERT INTO events (event_datetime) VALUES ('2025-03-20 09:45:00');
SELECT 
    event_id,
    DATE(event_datetime) AS event_date
FROM 
    events;
-- 会将表中 event_datetime 列的值提取出日期部分存储在 event_date 列中

2. 对日期进行加法计算

-- 在原日期基础上加上 5 天
SELECT DATE('2024-10-15', '+5 days');
-- 输出结果为 '2024-10-20'

-- 在表中对日期列进行加法计算
SELECT 
    event_id,
    DATE(event_datetime, '+3 days') AS new_event_date
FROM 
    events;
-- 会将表中 event_datetime 列对应的日期加上 3 天存储在 new_event_date 列中

3. 对日期进行减法计算

-- 在原日期基础上减去 3 个月
SELECT DATE('2024-10-15', '-3 months');
-- 输出结果为 '2024-07-15'

-- 在表中对日期列进行减法计算
SELECT 
    event_id,
    DATE(event_datetime, '-2 years') AS old_event_date
FROM 
    events;
-- 会将表中 event_datetime 列对应的日期减去 2 年存储在 old_event_date 列中

4. 使用特殊修饰符调整日期

-- 将日期调整到所在月的第一天
SELECT DATE('2024-10-15', 'start of month');
-- 输出结果为 '2024-10-01'

-- 将日期调整到所在年的第一天
SELECT DATE('2024-10-15', 'start of year');
-- 输出结果为 '2024-01-01'

注意事项

  • SQLite 中日期和时间默认使用 ISO 8601 格式,即 YYYY-MM-DD HH:MM:SS 。如果输入的日期时间字符串不符合该格式,可能会导致结果不符合预期。
  • 在进行日期计算时,需要注意月份和年份的边界情况,例如,从 1 月减去 1 个月会得到上一年的 12 月。
  • DATE 函数的结果是一个字符串类型的日期,如果需要进行进一步的日期比较或计算,要确保操作的正确性。

Tags:

最近发表
标签列表