sql >> データベース >  >> RDS >> Sqlserver

nhibernate基準で組み込みのsql Convert関数を使用する

    CAST を受け入れることができれば CONVERT の代わりに (そして、私はあなたができると確信しています) 、より簡単な解決策があります。

    「SQL Server 関連」と呼ぶ代わりに 関数、抽象化を呼び出しましょう。これは、ほとんどの DB サーバーで動作するはずです (サポートされている NHibernate dilacts に基づく)

    Projections.Cast(NHibernateUtil.String, Projections.Property(searchCol))
    

    だから Restriction WHERE で使用 句は次のようになります:

    Restrictions
        .Like (
            Projections.Cast(NHibernateUtil.String, Projections.Property(searchCol))
            , "2009"
            , MatchMode.Anywhere
        )
    

    そして、NHibernate が SQL Server ダイアレクトを使用して生成した結果は次のようになります:

    WHERE cast( this_.theColumn as NVARCHAR(255)) like @p1 ... @p1=N'%2009%'
    



    1. ケースとデコード

    2. ハイブリッド環境でのPostgreSQLの監視

    3. Oracleは短絡評価を使用していますか?

    4. PL/pgSQLで使用する変数にクエリ結果を格納する