Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试在我的 java web 应用程序 bean 中编写一个 HQL 查询。在数据库表中,有一列包含数字数据但不作为数字,作为字符串(varchar2)。这是我项目设计的一部分。用户将在 GUI 上输入一个数值,并通过 HQL 查询,bean 将检索数据。一个例子 :
35(数据库值)<= 40(用户输入值)
这些值是字符串。不是号码。如何构建我的 HQL 查询字符串?我不认为,使用“LIKE”子句将是解决方案,还是这样做?我希望我的问题很清楚。
谢谢你。
请注意,当您的列(转换为数字)超过 numeric(19,2) 时,我的解决方案会崩溃
where (case when isNumeric(YOUR_COLUMN) = 1 then cast(YOUR_COLUMN as big_integer) else 99999 end) < USER_INPUT_VALUE
也许您需要调整 else 分支 - 当 YOUR_COLUMN 不是数字时,我选择99999作为默认值,因此它永远不会被视为有效值