Я работал в спящем режиме.
ниже код работает отлично в MSSQL, но дает ошибку в MySqlОператор SQL для строк concat в MySQL и SQL Server
Код:
Criteria criteria = session.createCriteria(table1.class);
criteria.add(Restrictions.sqlRestriction("(select this11_.um_email as y0_ from table2 this11_ where this11_.id='"+IDvalue+"') like '%'+this_.post_id+'%'"));
StackTrace:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '+this_.post_id+'%'' at line 1
org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2223)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
может кто-нибудь помочь мне решённые это?
ya он отлично работает для mysql, но он не будет работать для mssql.My приложение связано с mssql и mysql. –
@sejal 'CONCAT()' является частью стандарта SQL и работает также в mssql. Это решение работает как для mysql, так и для mssql. – Bohemian
, когда я пытаюсь выполнить этот запрос в mssql, тогда он даст ошибку, например: «Msg 195, Level 15, State 10, Line 2 « CONCAT »не является признанным встроенным именем функции». –