0

我正在数据仓库中构建报告,该报告依赖于比较其中一家餐厅的每日支票和付款。我需要能够过滤日期字段上的数据,但是它需要与看起来像美国日期格式但是字符串的字符串进行比较

Select a.* from 
xx a, xy b
where 
a.payment_date = b.check_date

a.payment_date 的格式是 DD-MON-YY(date),b.check_date 的格式是 MM/DD/YYYY 但是它是一个字符串。任何指向解决此问题的最有效方法的指针都非常感谢。

4

3 回答 3

2

转换check_date为using :string_dateTO_DATE()

SELECT a.*
FROM xx a, xy b
WHERE a.payment_date = TO_DATE(b.check_date, 'mm/dd/yyyy')

或者你可以反过来做,使用TO_CHAR().

于 2013-02-15T12:43:44.757 回答
1

将两个字符串日期转换为真实日期(http://www.techonthenet.com/oracle/functions/to_date.php),以便您可以按日期比较它们。

于 2013-02-15T12:44:10.867 回答
0

我想这可能对你有用

选择 a.* from xx a, xy b where convert(datetime,a.payment_date) = convert(datetime,b.check_date)

于 2013-02-15T12:46:02.897 回答