【发布时间】:2021-10-20 20:14:32
【问题描述】:
我有一个格式为 20210701 (YYYYMMDD) 的列到期日期,我想使用 SQL 提取除特定月份的 5 号以外的所有日期(如下图中突出显示的)
我使用了以下代码:
SELECT Due_Date_Key
FROM Table
WHERE Due_Date_Key <>20210705
但是,上面代码中的错误是它只排除了 7 月,而不排除其他月份。 如何从整列中提取除第 5 天以外的日期。
我们将不胜感激。
请注意,DUE_DATE_KEY 列是数字。
【问题讨论】:
-
你可以适当地使用 NOT IN 代替
-
@Abra 该列是数字
-
@MarEll 我认为这仍然会过滤我们输入的月份,对吗?例如 `SELECT Due_Date_Key FROM Table WHERE Due_Date_Key NOT IN 20210705` 如果我错了,请纠正我。
-
谢谢@Abra。是否可以提取最后两位数字,然后过滤除 05 之外的数字,下面的代码可以工作吗? ``` SELECT *, RIGHT (due_date_key,2) AS Day FROM table WHERE day 05```
标签: sql postgresql date