我需要查询中间有反斜杠字符的所有行。这是我写的查询:
从表中选择*,其中A =' 2014-10-30'和B rlike' .asterisk \ .asterisk'
(必须手动输入星号。查询本身就有符号)
无论B列是否有反斜杠,它都会返回整个表格。
' \\ &#39。即使存在B具有反斜杠字符的行,也不返回任何行。
样本B - 您好可以查看您的详细信息/
答案 0 :(得分:1)
select regexp_replace(datecolumn,'-','\\') as dt from tablename;
答案 1 :(得分:0)
这是编写正则表达式的基本指南:http://tldp.org/LDP/Bash-Beginners-Guide/html/chap_04.html
如果你需要检查字符串中是否有反斜杠,请尝试" instr"功能,它更简单的tran regexp:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-StringFunctions
从正则表达式开始,应该只是这样:' \\'
在线检查正则表达式有效性的另一个好资源:http://regex101.com/
答案 2 :(得分:0)
这个问题在本博文中得到了很好的解释。
https://www.themarketingtechnologist.co/slashception-with-regexp_extract-in-hive/。
简而言之,答案是:
使用4个反斜杠。