私の簡単な説明は、以下の「GetValuesSqlStatement」のようなメソッドを持つインターフェースを実装することです:
public string SqlPattern { get { ... } }
//this varies; eg. "SELECT name FROM someTable WHERE startDate < {0}"
public string DatabaseType { get { ... } }
//this varies; eg. "SqlServer"
public string GetValuesSqlStatement(List<object> paramValues)
{
//...desired logic here, using DatabaseType, SqlPattern and paramValues
}
ここでは、実行可能な SQL ステートメントを生成する必要があるため、クエリの実行でパラメーターを使用することはできません。そして、私が実装しなければならないインターフェースは交渉不可能です。結果の日付がデータベース クエリ エンジンによって正しく解釈されることを確認するための最善の方法は何ですか? paramValues に .NET DateTime オブジェクトが含まれていると仮定すると、SQL パターン文字列にプラグインする前に、これらをどのように文字列にフォーマットする必要がありますか? must データベースで最も一般的な日付形式は何ですか? (例: 「dd-mmm-yyyy」のようなもの)。
注意: 2005 年以降の Sql Server と Oracle 10g 以降のことだけを心配する必要があります。したがって、SQL は有効な T SQL および PL SQL である必要があり、両方のフレーバーで同じことを意味します。