关于去除sql文多余的括号的问题。

coolsunwind83 2007-11-05 08:51:13
比如Select (FT_ID),sum((numid)) From FT_AZA_POLY ;

去除括号变成 比如Select FT_ID,sum(numid) From FT_AZA_POLY ;
...全文
294 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoduan9678 2007-11-06
  • 打赏
  • 举报
回复
可以用replace试一下
老腊肉泡酒 2007-11-06
  • 打赏
  • 举报
回复
递归
coolsunwind83 2007-11-06
  • 打赏
  • 举报
回复
去掉的原因是我要用lex yacc解析,如果有括号,取得的列名就不正确了。
比如
Select TSQL_CALC.Sum((FT_ID)) From FT_AZA_POLY Where FKNCODE='01'
如果TSQL_CALC.Sum((FT_ID)) 不去掉一层括号,我取得的就是(FT_ID)。

mimong_lin 2007-11-06
  • 打赏
  • 举报
回复
为什么要去掉,你是想怎么去掉呢?

这两个问题得先说明白啊.
飞哥 2007-11-06
  • 打赏
  • 举报
回复
如果不行到sql版问问吧
飞哥 2007-11-06
  • 打赏
  • 举报
回复
不懂啊
星羽 2007-11-06
  • 打赏
  • 举报
回复

你可以把它看成 c 里的 圆括号

sql的的方括号倒有特别的意义,一般不能去除

在方括号 ([ ]) 中只包含通配符本身。要搜索破折号 (-) 而不是用它指定搜索范围,请将破折号指定为方括号内的第一个字符:
WHERE ColumnA LIKE '9[-]5'

下表显示了括在方括号内的通配符的用法。

符号 含义
LIKE '5[%]' 5%
LIKE '5%' 5 后跟 0 个或更多字符的字符串
LIKE '[_]n' _n
LIKE '_n' an, in, on (and so on)
LIKE '[a-cdf]' a, b, c, d, or f
LIKE '[-acdf]' -, a, c, d, or f
LIKE '[ [ ]' [
LIKE ']' ]




凤影 2007-11-06
  • 打赏
  • 举报
回复
那也应该是你的lex 需要重写啊。
coolsunwind83 2007-11-05
  • 打赏
  • 举报
回复
可以看作括号里面是一个单独的字符串或者一个表达式
  • 打赏
  • 举报
回复
不大明白,()的规则是什么?
要是规则固定的话用正则去掉比较方便

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧