【发布时间】:2019-11-27 13:22:41
【问题描述】:
我想判断一个正数字符串是否以“.0”结尾,所以我写了如下sql:
select '12310' REGEXP '^[0-9]*\.0$'。结果是true。我想知道为什么我得到了结果,因为我在“。”之前使用了“\”。逃离。
所以我又写了一个select '1231.0' REGEXP '^[0-9]\d*\.0$',但是这次结果是false。
谁能告诉我正确的模式?
【问题讨论】:
-
使用
'^[0-9]*\\.0$'或'^[0-9]+\\.0$' -
尝试使用
REGEXP '^[0-9]*[.]0$',如果可行,那么 Wiktor 的评论是在金钱上,而您没有正确地转义点。 -
Hive SQL 与常规 SQL 有什么不同吗?我几乎可以肯定
select '1231.0' REGEXP '^[0-9]\d*\.0$'会产生错误。
标签: sql regex hive hiveql numeric