2016-09-22 7 views

答えて

0

to_date()のフォーマットマスクも一重引用符で囲む必要があります。

出力を文字列形式で出力するには、同じ形式のマスクを使用してto_char()を適用する必要があります。

select to_char(to_date('20160101', 'YYYYMMDD') + level - 1, 'YYYYMMDD') as dt 
from dual 
connect by level <= 1 + to_date('20160104', 'YYYYMMDD') - to_date('20160101', 'YYYYMMDD') 
; 


DT  
-------- 
20160101 
20160102 
20160103 
20160104 
+0

はい私は英語とイタリア語の日付の間に書式を間違っていました。とにかく、それは完璧に動作しますありがとう! – Chrix1387

0
SELECT DATE '2016-01-01' + LEVEL - 1 
FROM DUAL 
CONNECT BY LEVEL <= DATE '2016-01-04' - DATE '2016-01-01' + 1; 
+0

は答えてくれてありがとう、私は同じ日付フォーマットを必要とする:「20160102」など。Chrix1387 @ない日付 – Chrix1387

+2

は、それからちょうど ''文字列をフォーマットするために 'TO_CHAR(DATEVALUE、format_mask)を使用し、および/またはTO_DATE(stringvalue、format_mask) 'を使って文字列から日付を取得します。 – MT0

+0

'connect by level'はこれを行う正しい方法です。別のフォーマットが必要な場合は@ Chrix1387を使用して結果を 'to_char(mydate、 'RRRRMMDD')' – Plirkee

関連する問題