如何在SQL#中将SQL解析为数据表或数组?

时间:2016-11-09 10:22:21

标签: c# sql

我有简单的sql-query,例如string sql="select 'a1,a2' f1, 2 f2;"。如何在没有数据库的情况下将string解析为object[](使用sql语法规则)?可以使用正则表达式转换。

2 个答案:

答案 0 :(得分:1)

var str = "select 'a1,a2' f1, 2 f2;";
Regex.Matches(str, "(^|[\\s,\\,]){1}(\\'.*\\'\\s*\\w+|[^\\,^']*)[\\,,$,;]")
        .Cast<Match>()
        .Select(m => m.Value.Split(new[] { ' '}, StringSplitOptions.RemoveEmptyEntries)
                            .First().Replace("\'",""))
        .ToArray();

答案 1 :(得分:0)

您可以在Split中使用C#字符串方法,例如.Split(',')