2011-02-26 40 views
0

私の現在のプロジェクトではHSQLDB2.0とJPA2.0を使用していますが、DBには日付カラムがほとんどありません。日付フィールドでのワイルドカード検索

日付の列に対してワイルドカードクエリを実行したいと思います。どうすればいい?

例:私のDBのように日付の値を持つ2つの列が含まれている場合:2011年10月1日と15-02-2011

と私の検索条件は、「%10から01パーセント」になりますし、あるべき結果10-01-2011。

検索条件が "%2011%"の場合、選択クエリで両方の行をフェッチする必要があります。事前に

おかげで、

サティヤ

答えて

0

これは、この形式で達成することができる。

select date_birth from member where to_char(date_birth,'MM-yyyy') like '%02-2011%'

select date_birth from member where to_char(date_birth,'MM-dd') like '%02-15%'

select date_birth from member where to_char(date_birth,'dd-yyyy') like '%30-2011%'

よろしく、

サトヤ

0

あなたは、日付のコピーを含むタイプVARCHARの自動生成列を定義することができます。 LIKE述部とREGEXP_MATCHES()関数の両方で照会を実行できます。カラム定義の例は以下の通りです:

DATEGEN VARCHAR(10) GENERATED ALWAYS AS (CAST(DATECOL AS VARCHAR(10)) 

は「2011-02-26」DATEの文字列表現の形式であることに注意してくださいとあなたのクエリ文字列は、このパターンに従ってください。