NHibernate 下使用CASE WHEN函数
我在HQL里写了这样的SQL文,跑不过去呀....报下面的错误..高手指点下!!小弟不胜感激!
代码:
Dim dbSession As ISession = DataBase.GetCurrentSession()
Dim strHql As New StringBuilder
Try
strHql.Append("SELECT a.USER_ID, a.USER_NAME,")
strHql.Append(" CASE WHEN a.USER_SEX = '0' THEN '男' ELSE '女' END AS BIRTHDAY ,")
strHql.Append(" DATEDIFF(year, CONVERT(datetime, a.USER_BTHDY), GETDATE()) AS AGE,")
strHql.Append(" a.USER_TEL, a.USER_MOBILE, a.USER_MAIL FROM MT_USER a")
Dim userInfo As IList = dbSession.CreateQuery(strHql.ToString).List()
Catch ex As Exception
Throw ex
Finally
DataBase.CloseSession()
End Try
错误信息:undefined alias or unknown mapping: CASE [SELECT a.USER_ID, a.USER_NAME, CASE WHEN a.USER_SEX = '0' THEN '男' ELSE '女' END AS BIRTHDAY , DATEDIFF(year, CONVERT(datetime, a.USER_BTHDY), GETDATE()) AS AGE, a.USER_TEL, a.USER_MOBILE, a.USER_MAIL FROM Dmax.Core.MT_USER a]
还有,HQL里支持这些函数吗?比如我里面用到的DATEDIFF,CONVERT等...如果能用,那么该怎么用呢..请高手指点!
|