我正在数据仓库中建立报告,继续比较其中一家餐厅的日常支票和付款。我需要能够在日期字段上过滤数据,但是需要将其与看起来像美国日期格式的字符串进行比较,但是字符串是这样的
Select a.* from
xx a, xy b
where
a.payment_date = b.check_date
a.payment_date的格式是DD-MON-YY(日期),b.check_date的格式是MM / DD / YYYY但是它是一个字符串。任何指向解决这个问题的最有效方法的指针都非常感激。
答案 0 :(得分:2)
使用TO_DATE()
将check_date
从string
转换为date
:
SELECT a.*
FROM xx a, xy b
WHERE a.payment_date = TO_DATE(b.check_date, 'mm/dd/yyyy')
或者您可以使用TO_CHAR()
进行相反的操作。
答案 1 :(得分:1)
将两个字符串日期转换为实际日期(http://www.techonthenet.com/oracle/functions/to_date.php),以便您可以按日期比较它们。
答案 2 :(得分:0)
我认为这可能对您有用
从中选择。* xx a,xy b 哪里 convert(datetime,a.payment_date)= convert(datetime,b.check_date)