我正在尝试将一列邮政编码转换为整数,但即使我正确地投放了该列,也会出现转换错误:
with zips as (
select id ,cast(replace(replace(left(ltrim(Zip_Code),5), '-', ''), char(32), '0') as int) as zip_clean
from table1)
select * from zips
where zip_clean in
(19116,
94595,
60062)
上面我的嵌套演员表功能有什么问题吗?
答案 0 :(得分:1)
因为我认为这会回答你的问题,我会在这里发表评论。
这意味着您的@Query("SELECT u FROM OAuthUser u ...")
public List<OAuthUser> findByRole(int roleID);
函数不能涵盖Zip_Code中的所有可能方案。尝试使用
@Query(value = "SELECT * FROM auth_user ..." , nativeQuery=true)
public List<OAuthUser> findByRole(int roleID);
答案 1 :(得分:1)
我认为你的查询是正确的,但没有考虑到一些无效的zip。我会尝试运行下面的,它将返回非数字值。然后你可能需要手动修复它们或以其他方式处理它们。
SELECT Zip_Code FROM TABLE1
WHERE ISNUMERIC(replace(replace(left(ltrim(Zip_Code),5), '-', ''), char(32),
'0')) = 0