sql >> Databasteknik >  >> RDS >> Sqlserver

Använda inbyggd sql Convert-funktion i nhibernate-kriterier

Om du kunde acceptera CAST istället för CONVERT (Och jag är nästan säker på att du kan) , då finns det en mer okomplicerad lösning.

Istället för att kalla "SQL-serverrelaterad" funktionen, låt oss kalla abstraktionen, som borde fungera på de flesta DB-servrar (baserat på stödda NHibernate-dilacter)

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

Alltså Restriction används i en WHERE klausul kan se ut så här:

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

Och resultatet som genereras av NHibernate med SQL Server-dialekten skulle vara:

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



  1. Slå samman två SQL-skriptanvändningar if condition i Select-fråga

  2. När ska man använda vilken mysql-partitioneringsmodell

  3. Fel vid anslutning till heroku postgres db i nodejs

  4. java.sql.SQLException:ORA-00936:uttryck saknas