SQL - 对另一个查询的结果执行查询?

时间:2017-11-28 07:48:20

标签: mysql sql amazon-rds-aurora

我有一个包含日期值的列(varchar),我需要找到那些在接下来的30天内到期的日期。

    ExpiringDate
===================
20171208,
20171215,samples
20171130,tested
N/A
No
(empty row)

所以,首先我需要在逗号之前获取值。在结果集上,我需要过滤掉只有数字的行(没有' N / A'或' No'或空行)&然后我需要过滤那些在接下来的30天内到期的日期。

被修改

我试过以下&结果集似乎不合适

SELECT
  DocName,
  CategoryName,
  AttributeName,
  CAST(SUBSTRING_INDEX(AttributeValue, ',', 1) AS DATE) AS ExpiredDate
FROM myDB
WHERE (AttributeName = 'Date of last vessel OVID' OR AttributeName = 'Next Statutory docking' OR
       AttributeName = 'Last statutory docking') AND AttributeValue LIKE '%[^0-9]%' AND
      DATEDIFF(now(), AttributeValue) <= 30;

0 个答案:

没有答案