Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅对数字而非文本有效的SQL查询_Sql_Teradata - Fatal编程技术网

仅对数字而非文本有效的SQL查询

仅对数字而非文本有效的SQL查询,sql,teradata,Sql,Teradata,我正在处理Teradata中支持sql查询的表。 我有一个表,表中有标记列和值。 分数8090不合格7040不合格 我正在尝试构建一个查询,该查询将给出这个分数在总数150中的百分比,比如80/150*100 但我想跳过包含“fail”等文本的列。选择CAST(标记为float)/150*100这会导致标记列中的文本错误如何在不引入仅包含整数值的新列的情况下执行此操作?您能否重写查询以排除值为“fail”的列?我建议使用案例陈述。如“标记>0然后强制转换(标记为浮点)/150*100,否则0快速

我正在处理Teradata中支持sql查询的表。
我有一个表,表中有标记列和值。

分数
80
90
不合格
70
40
不合格
我正在尝试构建一个查询,该查询将给出这个分数在总数150中的百分比,比如80/150*100

但我想跳过包含“fail”等文本的列。
选择CAST(标记为float)/150*100

这会导致标记列中的文本错误
如何在不引入仅包含整数值的新列的情况下执行此操作?

您能否重写查询以排除值为“fail”的列?我建议使用案例陈述。如“标记>0然后强制转换(标记为浮点)/150*100,否则0快速谷歌搜索显示teradata支持正则表达式。这是最可靠的方法。@DanBracuk是对的。用于正数:从REGEXP_simular(COL1,^[0-9]+$,'c')=1的表_Name中选择*<代码>从标记不象“[^0-9]”的表中选择强制转换(标记为浮动)/150*100