0

レストランの 1 つの毎日の小切手と支払いを比較するレポートをデータ ウェアハウスに作成しています。日付フィールドでデータをフィルタリングできる必要がありますが、米国の日付形式のように見えるが文字列である文字列と比較する必要があるため、

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 ですが、文字列です。この問題を解決する最も効率的な方法へのポインタは大歓迎です。

4

3 に答える 3

2

check_dateからstringdate使用して変換するTO_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.* を xx a、xy b から選択します。ここで、convert(datetime,a.payment_date) = convert(datetime,b.check_date)

于 2013-02-15T12:46:02.897 に答える