黑斑羚中的星号或百分比符号
Posted
技术标签:
【中文标题】黑斑羚中的星号或百分比符号【英文标题】:asterisk or percentage sign in impala 【发布时间】:2018-06-04 10:48:51 【问题描述】:百分号 (%) 用作“所有”通配符,而不是星号。它将匹配零个或多个字符。
正如@onedaywhen 所说,两者功能相同。
但在 impala 中,我发现它们只在不同的特定情况下工作。
显示类似''的表格
假设在我的数据库opd
,有表,
opd.haha
opd.haha1
opd.abc
输入:
show tables like 'haha*'
输出:
opd.haha
opd.haha1
输入:
show tables like 'haha%'
输出:
Done. 0 results.
选择...喜欢
select 'haha' like 'ha%' -- true
select 'haha' like 'ha*' -- false
select 'haha' like 'ha__' -- true
select 'haha' like 'haha%' -- true
我的问题是
总结一下,
星号仅适用于 show tables 子句,并且 百分号仅在选择子句中有效这个评论对吗?
【问题讨论】:
与节目一起使用的类似使用unix style,因此使用*
。而标准 SQL 中使用的类似使用 %
。有点像,但又不一样。
我发现*
仅适用于 show 语句。谢谢。
嗯,可能是这样,因为SHOW
似乎不是标准 SQL。但他们需要包含一个管道|
(OR)。在 SQL 中,LIKE 的语法没有 OR 字符。此外,根据文档,SHOW 之后的 LIKE 词是可选的。
是的,在where
或select
语句中,OR运算就像var like 'A' or var like 'B'
而不是var like 'A|B'
【参考方案1】:
like
的标准通配符是:
_
代表单个字符
%
代表零个或多个字符
like
没有实现正则表达式。
如果你想要正则表达式,那么使用regexp_like()
。
【讨论】:
以上是关于黑斑羚中的星号或百分比符号的主要内容,如果未能解决你的问题,请参考以下文章