在 ColdFusion cfscript 查询中使用 SQL LIKE 语句时,是否可以使用通配符?
以下是一个不起作用的示例:
local.q = new Query();
local.q.setDatasource(variables.dsn);
local.q.addParam(name='lastname', value='%' & arguments.lastname, cfsqltype="cf_sql_varchar");
local.qString = 'SELECT name FROM users WHERE lastname LIKE :lastname';
local.q.setSQL(local.qString);
local.result = local.q.execute().getResult();
我也尝试了以下方法,但都没有成功:
local.qString = 'SELECT name FROM users WHERE lastname LIKE %:lastname';
local.qString = "SELECT name FROM users WHERE lastname LIKE '%:lastname'";
更新:
我正在使用 MS SQL Server 2008。
在 SQL Server 管理工具中,查询正常运行……我认为这与如何在 cfscript 标签中格式化查询有关?
%
作为第一个字符使用LIKE
操作符? - Henry<cfqueryparam value="%#arguments.lastname#">
是正确的语法。看起来你正在尝试做这件事情,所以你的数据库管理系统可能不支持这个。 - Matt Buschesql
问题中始终包含数据库类型和版本。当人们不必猜测您使用的是哪种数据库时,您将获得更快、更准确的答案 :) - Leigh