Sql 查询以仅从单元格中获取数字-雪花

Sql 查询以仅从单元格中获取数字-雪花,sql,snowflake-cloud-data-platform,numeric,Sql,Snowflake Cloud Data Platform,Numeric,我在Snowflake中有一个巨大的列,名为“AGE”,其中5%的行具有“>80”之类的值 我想按年龄在[40-55]之间的人进行筛选,我面临一个错误“无法识别数值'>80' 我尝试使用类似“where ISNUMERIC(PAT_AGE_YR_NBR)=1”的内容进行过滤,但在Snowflake中无法识别ISNUMERIC。 我想: 选择仅为数字或数字的行 从中检索值,比如“>80”,我只想通过单元格的数字部分“80”进行过滤 有什么想法吗? 干杯 对于第一部分,您可以使用上述文档中详述的

我在Snowflake中有一个巨大的列,名为“AGE”,其中5%的行具有“>80”之类的值

我想按年龄在[40-55]之间的人进行筛选,我面临一个错误“无法识别数值'>80'

我尝试使用类似“where ISNUMERIC(PAT_AGE_YR_NBR)=1”的内容进行过滤,但在Snowflake中无法识别ISNUMERIC。 我想:

  • 选择仅为数字或数字的行
  • 从中检索值,比如“>80”,我只想通过单元格的数字部分“80”进行过滤
有什么想法吗? 干杯

  • 对于第一部分,您可以使用上述文档中详述的函数
  • 然后从结果中,您可以对NULL值进行筛选,只列出特定的结果
  • 例如:

    select try_to_numeric(col) as a from numtest where a IS NOT NULL and a > 10;
    
  • 对于第一部分,您可以使用上述文档中详述的函数
  • 然后从结果中,您可以对NULL值进行筛选,只列出特定的结果
  • 例如:

    select try_to_numeric(col) as a from numtest where a IS NOT NULL and a > 10;
    

    使用
    TRY\功能:

    WHERE TRY_CAST(PAT_AGE_YR_NBR AS INT) between 40 and 55
    

    使用
    TRY\功能:

    WHERE TRY_CAST(PAT_AGE_YR_NBR AS INT) between 40 and 55
    

    您可以发布存储在AGE列中的数据样本和您尝试的SELECT语句吗?您可以发布存储在AGE列中的数据样本和您尝试的SELECT语句吗?