检查最后一个字符是[A-Z]还是[0-9] SQL

时间:2016-10-07 11:18:55

标签: sql postgresql

任何人都知道如何检查结果的最后一个字符是[A-Z]还是[0-9]?

我试图在我的表格中申请prod_code字段,prod_code的值是

134s
45kfz
78475!
ruj-

我只想通过前5个字符提取记录,这些字符没有特殊字符,如 - 或!等

我尝试过使用(left(prod_code,5),right(prod_code,1) IN ('[0-9]%','[A-Z]%')),但这并没有按预期工作。

任何提示?

2 个答案:

答案 0 :(得分:1)

使用正则表达式:

where prod_code ~ '^.*[A-Z1-9]$'

奇怪的是,你要离开0

答案 1 :(得分:0)

尝试使用以下脚本

SELECT regexp_replace(prod_code, '[^a-zA-Z0-9]+', '','g') 
FROM yourTable