日期格式不是 YYYY-MM-DD
SQLite唯一有效的日期格式。
因此,如果您要提取日期的月份,则SQLite支持的任何date函数都会失败。
您必须使用字符串函数SUBSTR()
提取月份,然后使用其他函数(例如)NULLIF()
和COALESCE()
根据需要调整季度。
假设您的日期格式为DD/MM/YYYY
:
SELECT Close_Date,
'Q' || COALESCE(NULLIF((SUBSTR(Close_Date, 4, 2) - 1) / 3, 0), 4) AS Quarter
FROM tablename
如果MM/DD/YYYY
随后将格式更改SUBSTR(Close_Date, 4, 2)
为SUBSTR(Close_Date, 1, 2)
或仅Close_Date
因为SQLite会将日期隐式转换为数字,则该数字将为日期的起始数字。
参见演示。
结果:
> Close_Date | Quarter
> :--------- | :------
> 01/04/2019 | Q1
> 01/05/2019 | Q1
> 01/10/2019 | Q3
> 01/09/2019 | Q2
> 01/06/2019 | Q1
> 01/09/2019 | Q2
> 01/04/2019 | Q1
> 01/07/2019 | Q2
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句