Groovy: 运行 SQL SELECT LIKE 来自带参数的文件

Groovy: run SQL SELECT LIKE from file with params

groovy代码是

import groovy.sql.*
dbUrl = 'jdbc:sqlserver://server'
dbUser = 'username'
dbPassword = 'password'
dbDriver = 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
sql = Sql.newInstance(dbUrl, dbUser, dbPassword, dbDriver)
def sqlfromfile = new SqlFromFile()
sqlfromfile.sql_filename='select_query.sql'
sqlfromfile.read()
try{
     def result = sql.rows(sqlfromfile.result,[id:'01'])
     println result
}catch(e){
     println e
}

class SqlFromFile {
    def sql_filename
    def read(){
        result= new File("sqlfolder/"+sql_filename).text
        return result
    }}

sql 文件工作正常:

SELECT  * FROM [db].[dbo].[TABLE] WHERE [ID] = :id

但是如果我尝试让 LIKE SELECT

SELECT  * FROM [db].[dbo].[TABLE] WHERE [ID] LIKE %:id%

我有一个错误Incorrect syntax near '@P0' 有没有办法解决这个问题?

试试这个

SELECT  * FROM [db].[dbo].[TABLE] WHERE [ID] LIKE '%'+convert(varchar(50),:id)+'%'