使用INSTR或CHARINDEX返回除空格之外的任何内容

时间:2017-05-19 21:41:54

标签: sql db2

我需要返回在第3个到最后一个位置使用空格 NOT 的结果(所以从右边开始)。试图识别未使用美国州首字母缩略词的记录。

JOHN MN    
MATT HI
TERRY ARKANSAS

我通过DBVisualizer运行这个,我很难过。我尝试添加一些CHARINDEXRIGHT等等,但没有任何组合可行。

理想情况下,它看起来像:

SELECT INSTR(COLUMN, **<>** ' ', -3) FROM TABLE

2 个答案:

答案 0 :(得分:0)

尝试这样的事情:

select * from yourtable
where
case when length(trim(yourcolumn))>2 and right(trim(yourcolumn), 3) like ' %' then 1 else 0 end =0 

或者

select * from yourtable
where trim(yourcolumn) not like '% __'

答案 1 :(得分:-1)

试试这个:

SELECT IIF(len(RIGHT(COLUMN,LEN(COLUMN)-3))=LEN(REPLACE(RIGHT(COLUMN,LEN(COLUMN)-3),' ','')),0,1)

如果返回 0 ,则表示从第3个位置到最后一个位置没有空白值。 如果它返回 1 ,则表示 有空白。