-3
日付を格納する単一のvarcharカラムにいくつのタイプの日付フォーマットがあるか調べる必要があります。単一の日付フィールドで日付フォーマットを検索する
エントリが多すぎますので、手動で行うことはできません。
さまざまな形式の日付で列に表示されるさまざまな種類の日付形式を検索するSQLクエリを提案してください。
日付を格納する単一のvarcharカラムにいくつのタイプの日付フォーマットがあるか調べる必要があります。単一の日付フィールドで日付フォーマットを検索する
エントリが多すぎますので、手動で行うことはできません。
さまざまな形式の日付で列に表示されるさまざまな種類の日付形式を検索するSQLクエリを提案してください。
あなたはこのような関数を作成する必要があります。
CREATE OR REPLACE function f_invalid_date(date_field in varchar2,format_field in varchar2) return number as
v_d date;
begin
v_d := TO_DATE(date_field, format_field);
return 0;
exception
when others then
return 1;
end;
、あなたは次のように制御することができます:あなたのis_date_valid
列は、それはあなたの送信フォーマットのためのあなたの有効なであれば
select
f_invalid_date(your_varchar_column/*'20160606'*/,'yyyymmdd') is_date_valid
from
your_table;
と。
したがって、すべての日付形式を試してカウントすることができます。
日付にはフォーマットがありません – Jens
実際の日付/時刻フィールドはバイナリ表現を格納しますが、「フォーマット」はありません。書式設定はフィールドデータを表示および検索する場合にのみ使用され、後者の場合、パラメータ化されたクエリは書式設定の問題を回避できます。フィールドデータに「フォーマット」がある場合は、バイナリではなく文字列として格納されているように見えます。あなたが大量の解析コードを書かない限り、あなたはSOLです。 –
私は..日付の列 "日付"の日付を持つデータベースに... 2016-08-31&2016-08-31 00:00:00&以上の形式が格納されている場合は...フォーマットを調べる –