2016-12-12 160 views
2
  1. HQL解析DATEADD(m,-1,GETDATE())作爲DATEADD(m,-1,GETDATE())HQL不喜歡加字符

  2. HQL解析DATEADD(d,-1,GETDATE())DATEADD(d,-1,GETDATE())

  3. HQL解析DATEADD(d,+1,GETDATE())DATEADD(d)

  4. HQL解析DATEADD(h,+23,GETDATE())作爲DATEADD(h)

所以我傾向於認爲,HQL不喜歡+字符。你能否提出解決方案?

附:DATEADD(d,+1,GETDATE())在SQL控制檯中正常工作。

+0

您可能需要使用原生SQL查詢,而不是HQL? – OldProgrammer

+0

@OldProgrammer作爲選項,但這是一個不好的做法。我相信HQL可以解析那個解決我的問題的查詢(逃生加字符) –

回答

0

HQL不是SQL。

特別HQL的語法是SQL語法的不同。

我沒有找到HQL的正式語法,但對於HQL,表達式+1是不正確的。

在這種情況下,您可以:代替

  • 使用本地SQL HQL的
  • 寫的,而不是1 + 1和繼續使用HQL
+0

,比你的 –