最近的项目需求中需要解析sql得表名,由于只需要表名我觉得应该用相对粗暴一点的方式来解析 初步思路: 1.转义字符:去除两个引号连在一起的 2.字符串: 去除所有被引号包裹的 3.括号:识别括号处理 4.关键字: 用关键字切割语句,去除与表名 无关的 5.解析与表名有关的切割分段得表名 先是粗暴的括号处理 def get_str(s): you = 0 st = [] re = '' max_you = 0 for ii in s: st.append(ii) while st: tmp = s…
SELECT (case when a.colorder=1 then d.name else null end) 表名, a.colorder 字段序号,a.name 字段名, (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识, (case when (SELECT count(*) FROM sysobjects WHERE (name in (SELECT name FROM…