1
我有一個嵌入式HSQLDB數據庫進行測試。生產數據庫是SQL Server 2012的HSQL和MSSQL datepart參數
我使用這對這個地方謂詞本機查詢:
and (pc.SOME_DATE IS NOT NULL
AND pc.SOME_DATE BETWEEN SYSDATETIME() AND DATEADD(minute, c.MINUTES_TO_ADD, SYSDATETIME()))
和SQLServer的它運行正常,但HSQLDB它失敗:
org.hsqldb.HsqlException: user lacks privilege or object not found: MINUTE
我通過創建一個函數解決了與SYSDATETIME類似的問題,但我不知道如何解決使用關鍵字的mssql和使用varchar的hsqldb之間的這種不兼容問題。
關於我可以做些什麼來讓我的hsqldb做這項工作的任何想法?甚至對查詢...
編輯: 我知道如何使查詢在HSQLDB中工作,重點是在SQLServer和HSQLDB中具有相同的查詢。我可以定義一些名爲minute的全局變量,它代表「分鐘」的值。
謝謝!
謝謝您的回覆。我知道我可以用'分鐘',也許我不清楚這一點。我想知道是否可以在HSQLDB中定義一些「分鐘」的全局變量。順便說一句,在這種情況下,根據w3schools,這不是一個MSSQL兼容性,而是一個標準的SQL兼容性問題。 – Andre
會話變量可以作爲過程的輸入/輸出來定義和訪問,但不能從單個查詢中訪問。 – fredt
timestampadd函數在mssql中不存在,或者至少這是我得到的結果。所以我想我的問題還沒有答案。或者答案是:不可能。 – Andre