Как добавить кавычки в предложение 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?
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