页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

3、Smartbi里面写SQL,包含正则表达式的时候,读取方括号报错:表达式解析错误: expecting STRING_LITERAL, found '['

例如报错的sql里有两处正则表达式例如报错的sql里有两处正则表达式:

代码块
languagesql
linenumberstrue
REGEXP_LIKE(SUBSTR(REPLACE(SUBJECTCODE, '_', ''), 9), '^[a-zA-Z]+')

...



REGEXP_LIKE(SUBJECTCODE, '11057201_[0-9]{6,}')

解决方案

上述问题是由于SQL中存在特殊符号,需要转义成ASCII码才能使用。

...

上述3中是由于^为特殊字符,可将需要处理的表达式修改为:

代码块
languagesql
linenumberstrue
REGEXP_LIKE(SUBSTR(REPLACE(SUBJECTCODE, '_', ''), 9), chr(94)||'[a-zA-Z]+')

REGEXP_LIKE(SUBJECTCODE, '11057201_[0-9]{6,}')  ------该表达式未使用特殊字符,可正常支持,无需调整。

...