我有以下查询。而且我正在计算MYDATE
列,这是一种DECIMAL(8, 0)
数据类型,它以YYYYMMDD格式(如20191107)以数字形式存储datea。
SELECT DECIMAL((TO_CHAR(TO_DATE(CAST(CAST(MYDATE AS INT) AS VARCHAR(8)), 'yyyymmdd') - 3 MONTHS, 'yyyymmdd')), 8, 0) FROM PDF_TABLE;
效果很好。但是,当我在如下所示的WHERE
子句中使用上述转换时,查询不会返回任何内容。
SELECT * FROM PDF_TABLE WHERE MYDATE = DECIMAL((TO_CHAR(TO_DATE(CAST(CAST(MYDATE AS INT) AS VARCHAR(8)), 'yyyymmdd') - 3 MONTHS, 'yyyymmdd')), 8, 0);