列
1
7
˚F
3
2
C
1
d
6
4
ë
克
B'/ P>
我希望能够使用where子句中的IN()运算符对其进行过滤,并仅提取数字。该列是一个varchar,因此它会在postgres
中作为错误返回答案 0 :(得分:0)
select substring(colname FROM '[0-9]+') from tablename
答案 1 :(得分:0)
您可以使用WHERE Clausule上的ISNUMERIC()函数过滤数字。
这样的事情:
SELECT *
FROM Table1
WHERE ISNUMERIC(column_name)=1
正如评论中所提到的,这适用于SQL Server,但您可以在此示例后在PostgreSQL中创建自己的ISNUMERIC函数:
答案 2 :(得分:0)
我最后在SELECT --- cast(substring( column FROM'[0-9] +')中作为int)进行了subquerying,这在WHERE 列< / em>〜'^ \ d + $'在FROM中作为自己的表。用IN(1,2,3)
拉出我需要的整数