代码之家  ›  专栏  ›  技术社区  ›  Mohammed Shaheer

查找列中的数据是否满足sql中的数据类型条件

  •  2
  • Mohammed Shaheer  · 技术社区  · 2 年前

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

    Product_id
    101 
    102
    102a 
    

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

    select product_id from product where product_id <> integer 
    

    输出应为

    产品id
    102a
    2 回复  |  直到 2 年前
        1
  •  1
  •   Simeon Pilgrim    2 年前

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

    给予

    102a

    TRY_TO_NUMBER

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

    where rlike(Product_id, '.*\\D.*')
    
        2
  •  1
  •   Tim Biegeleisen    2 年前

    您可以使用下面这样的正则表达式:

    SELECT Product_id
    FROM product
    WHERE Product_id !~ '\D';
    

    Product_id 价值观