我正在开发一个系统,它将其日期和时间以整数形式存储在firebird中,不管是什么原因我都不明白。无论如何,我需要将这些数字作为日期对象进行比较,从下面的脚本:
SELECT FIRST 100 a.S_ID, a.TR_SEQ, a.TR_DATE, a.TR_TIME, a.TR_TERM_SLA, r.DR_NAME,
FROM TRANSACK a, READER r, EVENT_TYPE ev, MASTER m
WHERE a.TR_TERM_SLA = r.T_ADDR and a.TR_EVENT = ev.ET_TYPENO and a.TR_MSTSQ = m.MST_SQ
ORDER BY a.TR_DATE DESC 现在,我想在where环境中添加这样的内容:
and CAST(TR_DATE as DATE) < '2013-11-19' and and CAST(TR_DATE as DATE) > '2013-11-20'..。上面的条件不工作,因为TR_DATE列是为整数,格式是'20131120',这将是今天。我想我必须先练弦乐,然后投到今天,或者做一些这样的体操练习。
实际上,在进行某种转换之后,我是否可以使用TR_DATE作为date对象?
发布于 2013-11-20 16:23:24
由于“整数日期”是yyyymmdd格式,所以您可以安全地比较它们。因此,与其将它们转换为日期,不如以相同的格式将日期转换为整数:'2013-11-19'作为整数将是20131119,因此
and TR_DATE < 20131119 and TR_DATE > 20131120可以将整数转换为实际日期类型,但这将是更多的工作。
https://stackoverflow.com/questions/20101076
复制相似问题