構成されたDBMSの方言で、生成されたSQLでdatetimeリテラルを生成するComparableExpressionを作成します。 私はこの記事を読んでいます:How to get fully materialized query from querydsl、Long値のリテラルを生成しますが、私は日付やdatetimeを生成する例は見ていません。日付リテラルの書式は、異なるDBMSに特有のものです。 {リテラル形式の日付}、私が生成するためにQueryDsl SQLダイアルを使用してDateTimeリテラルを生成するComparableExpression
dbo.fact_table.tx_date >= {formatted date literal}
:
だからWHERE文の中で、私はこれを取得したい
'19931123 00:00:00' (for MSSQL)
と
Timestamp '1993-11-23 00:00:00' (for Teradata)
私が持っている最も近いものは:
Expressions.dateTimeTemplate(Date.class, "{0}", alreadyFormattedDateString);
しかし、私は自分で日付をフォーマットする必要があります。私は、Dateオブジェクトを提供し、フォーマットを実行するquerydslを取得します。