我们可以在查询功能的ColdFusion查询中使用convert(int,Employeenumber)
函数吗?尝试时出现错误。
我正在从存储过程中获取记录。当我尝试使用convert()
函数通过查询查询来重新查询那些记录时,会引发错误。
实际上,该列的类型为varchar
,我想将该列转换为int
。然后,我想按该列排序,但是它不起作用。这是QofQ:
<cfquery name="qEmployees" dbtype="query">
Select convert(int,employeenumber) as employeenumber
...
</cfquery>
答案 0 :(得分:2)
对话中:
CONVERT()
通常是依赖于语言的SQL,而CAST()
是本质上用于执行相同操作的更通用的方法,但是在这种情况下,这也是QoQ引擎选择使用的方法。
重要的是要记住,ColdFusion Query Query中的SQL版本与传统SQL不同,Query Query不能做很多事情,我绝对不会推荐它对于大型初始数据集,因为它是内存操作。
此外,此问题似乎不是数据类型转换问题。数据中的NULL
似乎是一个问题。 ColdFusion,尤其是早于ACF 2018版本的任何版本,都不适用于NULL
。 QoQ没有ISNULL()
或COALESCE()
功能,而变通办法可能会比其应有的麻烦多。最简单的方法是修改原始基础查询以返回所需的值。