我有一个表产品,其列产品id为字符串数据类型,如下所示.

Product_id
101 
102
102a 

我想知道是否有任何方法可以获取product_id中的所有值,因为无法将其转换为整数,因此无法满足整数102a的条件

查询类似的内容

select product_id from product where product_id <> integer 

输出应为

Product_id
102a

推荐答案

在snowflake中:

select column1 as Product_id
from values 
    ('101'),
    ('102'),
    ('102a')
where try_to_number(Product_id) is null;

给予

PRODUCT_ID
102a

如果输入字符串无法转换,TRY_TO_NUMBER将返回null,因此,您可以在WHERE子句中使用它.

如果您想要正则表达式表单,可以使用:

where rlike(Product_id, '.*\\D.*')

Postgresql相关问答推荐

尽管Jooq已经是uuid类型,Jooq仍会启用我的UID,为什么?

Postgres SQL执行加入

创建发布性能

PostgreSQL(container)中使用80K子分区表处理共享内存不足错误

ANTLR4 PostgreSQL语法被 destruct 了吗?

使用PythonPolar在PostgreSQL中存储

postgresql中多个左连接的空结果

在 Age Viewer 上看不到 node 的第一个属性

是否可以短时间运行 VACUUM FULL 并获得一些好处?

无法从 docker-compose 上的其他服务解析 postgres 主机名

Postgresql JSONB 来了.现在用什么?Hstore?JSON?EAV?

在 CentOS 上安装 psycopg2 时遇到问题

如何使 Java 和 Postgres 枚举一起工作以进行更新?

从没有行的计数中获取 0 值

Rails 验证数组中的值

用于更改 postgresql 用户密码的 bash 脚本

Postgres 中有多少表分区太多了?

有没有办法确保 WHERE 子句在 DISTINCT 之后发生?

如何在Postgres中分组并返回总和行

Postgresql滚动删除旧行?