gpt4 book ai didi

sql - 如何使用 LIKE 和 在整数表中搜索值?

转载 作者:行者123 更新时间:2023-12-04 14:18:38 26 4
gpt4 key购买 nike

我有一个类似的查询:

选择项目ID来自 itemTableWHERE itemID LIKE '%123%'

itemTable 是 INT 类型。这个查询本身工作得很好,因为它会选择“12345”和“0912398”等等...

尝试使用时出现问题

假设 var searchValue = 123

如果我尝试:<cfqueryparam cfsqltype='cf_sql_integer' value="'%#searchValue#%'" >
我得到 *CFSQLTYPE CF_SQL_INTEGER 的无效数据“123”。*

如果我尝试:<cfqueryparam cfsqltype='cf_sql_varchar' value="'%#searchValue#%'" >
我得到java.lang.Integer cannot be cast to java.lang.String

我已经尝试在我的 SQL 中使用 CAST,也在不同的地方使用 toString(searchValue),但我总是以上面的错误消息之一结束。有什么方法可以使用 CFQUERYPARAM 搜索和整数表吗?

编辑:下面是我尝试使用的实际代码...

CFSCRIPT代码:

var searchValue=123;
searchFilterQuery(qry=qItemResults, field="itemID", value=searchValue,cfsqltype="cf_sql_varchar");

CFC 函数:

<!--- FILTER A QUERY WITH SEARCH TERM --->
<cffunction name="searchFilterQuery" access="public" returntype="query" hint="Filters a query by the given value" output="false">
<!--- ************************************************************* --->
<cfargument name="qry" type="query" required="true" hint="Query to filter">
<cfargument name="field" type="string" required="true" hint="Field to filter on">
<cfargument name="value" type="string" required="true" hint="Value to filter on">
<cfargument name="cfsqltype" type="string" required="false" default="cf_sql_varchar" hint="The cf sql type of the value.">
<!--- ************************************************************* --->
<cfset var qryNew = QueryNew("")>
<cfquery name="qryNew" dbtype="query">
SELECT *
FROM arguments.qry
WHERE #trim(arguments.field)# LIKE <cfqueryparam cfsqltype="#trim(arguments.cfsqltype)#" value="#trim(arguments.value)#">
</cfquery>
<cfreturn qryNew>
</cffunction>

最佳答案

我认为你需要这样做:

  • 按照人们所说的那样删除引号

  • 使用 VARCHAR 参数,而不是 INTEGER,因为 % 符号使您传递的值不是 INTEGER

  • 在数据库端将整数列转换为 VARCHAR。数据库可能会自动为您执行此操作,但我认为最好明确说明这些事情。

    选择项目ID来自 itemTableWHERE CAST(itemId AS VARCHAR) LIKE

关于sql - 如何使用 LIKE 和 <cfqueryparam> 在整数表中搜索值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7517643/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com