SQLite中给日期字段添加月份的查询语句报错求助
修正后的SQL语句(按数据库类型区分)
不同数据库系统的日期运算语法存在差异,以下是主流数据库对应的正确写法:
1. SQL Server
使用DATEADD函数实现日期偏移:
SELECT [Date Created], DATEADD(month, 3, [Date Created]) AS [Date Created (+3 Months)] FROM WARRANTY_PN_MISSING_COMPATIBILITY_TABLE
2. MySQL/MariaDB
两种写法均可:
-- 写法1:使用DATE_ADD函数 SELECT `Date Created`, DATE_ADD(`Date Created`, INTERVAL 3 MONTH) AS `Date Created (+3 Months)` FROM WARRANTY_PN_MISSING_COMPATIBILITY_TABLE -- 写法2:直接叠加INTERVAL SELECT `Date Created`, `Date Created` + INTERVAL 3 MONTH AS `Date Created (+3 Months)` FROM WARRANTY_PN_MISSING_COMPATIBILITY_TABLE
3. PostgreSQL
通过INTERVAL关键字实现:
SELECT "Date Created", "Date Created" + INTERVAL '3 months' AS "Date Created (+3 Months)" FROM WARRANTY_PN_MISSING_COMPATIBILITY_TABLE
4. SQLite(若环境为SQLite)
原语法逻辑正确,若结果异常大概率是日期格式不兼容,可先统一格式再计算:
SELECT [Date Created], DATE(STRFTIME('%Y-%m-%d', [Date Created]), '+3 month') AS 'Date Created (+3 Months)' FROM WARRANTY_PN_MISSING_COMPATIBILITY_TABLE
内容的提问来源于stack exchange,提问作者lucausa75
相关产品推荐
相关产品推荐

