【发布时间】:2022-06-14 01:18:49
【问题描述】:
我有一个 SQL 字符串
select Id, Name from Order where Id ='8675' and Name ='Test'
如何使用 C# 获得这部分内容,即 from 部分、where 部分和 select 部分最终得到:
-
select Id, Name----->选择部分 -
from Order-----> 来自部分 -
where Id ='8675'-----> 部分
如果需要,还有任何其他部分,如果他们有group by 等?
我已经尝试了以下
var str = @"select Id, Name from Order where Id ='8675' and Name ='Test'";
String[] spearator = { "from", "where" };
String[] strlist = str.Split(spearator,
StringSplitOptions.RemoveEmptyEntries);
我现在得到的问题是它不会忽略大小写,所以如果有 From 它不会工作。 我该怎么做?
【问题讨论】:
-
欢迎来到 Stack Overflow。请通过tour 了解 Stack Overflow 的工作原理,并阅读How to Ask 了解如何提高问题的质量。请显示您尝试过的尝试以及您从尝试中得到的问题/错误消息。
-
我已将我的尝试添加到问题中
-
遍历字符,替换成小写字母,除非它们在引号中可能会起作用,但请记住处理转义字符,子查询处理起来更加复杂
-
查看下面的parser,wiki页面上有一个解析select语句的例子。