DB2查询不包含包含A到Z的字符串

时间:2016-10-20 16:03:22

标签: java sql db2

我正在DB2中编写一个查询,我遇到了一些麻烦。我有一个实际上是STRING值的字段,但数据中的所有值实际上都是数字。这是因为它们稍后在java中转换为INT并在另一个查询中使用。我需要修改我的查询,实际上不包括包含A到Z的字符串(因此查询返回的字符串可以转换为int)。这样做的正确AND条款是什么?这需要添加到我的查询而不是存储过程

2 个答案:

答案 0 :(得分:0)

如果您的区域中的数字可以包含symbole numeric","然后尝试这个

 select * from yourtable
 where translate(yourzone,  '           ', '0123456789,')=''

否则试试这个

 select * from yourtable
 where translate(yourzone, '          ', '0123456789')=''

答案 1 :(得分:0)

如果你的db2版本可以使用regexp_like,你可以这样做:

用“。”作为十进制符号

  select *      from yourtable                            
  where REGEXP_LIKE(trim(yourzone) , '^\d+(\.\d*)?$')  

用“,”作为十进制符号

  select *      from yourtable                            
  where REGEXP_LIKE(trim(yourzone) , '^\d+(\,\d*)?$')  

不带小数符号(仅限整数)

  select *      from yourtable                  
  where REGEXP_LIKE(trim(yourzone) , '^\d+$')