合并 db2 日期
COALESCE db2 date
我正在尝试查询 2 个不同的日期字段和一个日期字段 (datefield2) 具有空值。我的日期字段是 CCYYDDD,我通常将其转换为 mm/dd/yyyy by date(digits(datefield)) as NewDate.
这失败了
SELECT type, date(digits(datefield1)) AS DateEntered, coalesce(varchar(datefield2),'') as Renewed
FROM MYDATA
WHERE date(digits(datefeld1)) between '06/01/2015' and '6/30/2015' OR date(digits(coalesce(varchar(rendt7),''))) between '06/01/2015' and '06/30/2015'
以下成功
SELECT type, date(digits(datefield1)) AS DateEntered, coalesce(varchar(datefield2),'') as Renewed
FROM MYDATA
WHERE date(digits(datefeld1)) between '06/01/2015' and '6/30/2015' OR coalesce(varchar(rendt7),'') between '2015152' and '2015181
如何查询我的日期字段中包含空值的位置?我计划为日期范围值传递参数,而宁愿只传递 mm/dd/yyyy.
我对你的问题有点困惑,但我认为你真正要找的是 TIMESTAMP_FORMAT 函数。我认为应该是这样的:
SELECT
type
,DATE(TIMESTAMP_FORMAT(datefield1,'YYYYDDD')) AS DateEntered
,DATE(COALESCE(TIMESTAMP_FORMAT(datefield2,'YYYYDDD'),'0001-01-01')) AS Renewed
FROM MYDATA
WHERE DATE(TIMESTAMP_FORMAT(COALESCE(datefield1, rendt7),'YYYYDDD'))
BETWEEN @date1 AND @date2
我正在尝试查询 2 个不同的日期字段和一个日期字段 (datefield2) 具有空值。我的日期字段是 CCYYDDD,我通常将其转换为 mm/dd/yyyy by date(digits(datefield)) as NewDate.
这失败了
SELECT type, date(digits(datefield1)) AS DateEntered, coalesce(varchar(datefield2),'') as Renewed
FROM MYDATA
WHERE date(digits(datefeld1)) between '06/01/2015' and '6/30/2015' OR date(digits(coalesce(varchar(rendt7),''))) between '06/01/2015' and '06/30/2015'
以下成功
SELECT type, date(digits(datefield1)) AS DateEntered, coalesce(varchar(datefield2),'') as Renewed
FROM MYDATA
WHERE date(digits(datefeld1)) between '06/01/2015' and '6/30/2015' OR coalesce(varchar(rendt7),'') between '2015152' and '2015181
如何查询我的日期字段中包含空值的位置?我计划为日期范围值传递参数,而宁愿只传递 mm/dd/yyyy.
我对你的问题有点困惑,但我认为你真正要找的是 TIMESTAMP_FORMAT 函数。我认为应该是这样的:
SELECT
type
,DATE(TIMESTAMP_FORMAT(datefield1,'YYYYDDD')) AS DateEntered
,DATE(COALESCE(TIMESTAMP_FORMAT(datefield2,'YYYYDDD'),'0001-01-01')) AS Renewed
FROM MYDATA
WHERE DATE(TIMESTAMP_FORMAT(COALESCE(datefield1, rendt7),'YYYYDDD'))
BETWEEN @date1 AND @date2