Как добавить кавычки в предложение sql where в Groovy script?



Коллеги, пожалуйста, помогите мне с sql в Groovy.
В моем скрипте SOAP UI groovy у меня есть sql-запрос:



sql.eachRow('select top 1 '+     
'Country, '+
'from dbo.Address where UPPER(Country) = "JAPAN" ORDER BY NEWID()')


Все было прекрасно, пока я не начал работать без кавычек в предложении where. После добавления UPPER (Country) = "JAPAN" я получаю axception:




Ком.Microsoft.от SQLServer.интерфейс jdbc.SQLServerException: имя столбца Ivalid
"Япония"




Как переписать запрос с кавычками в предложении where?

504   2  

2 ответов:

Или используйте другой символ кавычки в коде Groovy:

sql.eachRow("select top 1 " +     
            "Country, " +    
            "from dbo.Address where UPPER(Country) = 'JAPAN' ORDER BY NEWID()")

Или многострочные строки:

sql.eachRow('''select top 1
               Country, 
               from dbo.Address where UPPER(Country) = 'JAPAN' ORDER BY NEWID()''')

Или многострочные строки с полями:

sql.eachRow('''select top 1
              | Country, 
              | from dbo.Address where UPPER(Country) = 'JAPAN' ORDER BY NEWID()'''.stripMargin())

Я предпочитаю параметры литералам, особенно потому, что он работает правильно, если значение исходит из пользовательского ввода или если само значение содержит кавычки:

sql.eachRow('''select .... from dbo.Address 
     where UPPER(Country) = :country ...''', 
   [country: 'Japan'])

Comments

    Ничего не найдено.