我有一个字符串,它是一个命令行选项。假设它是
/server:server1.mydomain.com /username:user1 /password:"我的密码" /other:"aa /bb \"cc"
我需要使用 TSQL 解析它并得到以下结果:
+----------+----------------------+
| Key | Value |
+----------+----------------------+
| server | server1.mydomain.com |
| username | user1 |
| password | my password |
| other | aa /bb "cc |
+----------+----------------------+
我知道 TSQL 是一种数据库语言,不擅长这种任务。但我只是在考虑它的可能性。TSQL 没有内置的正则表达式支持,很难完成这项任务。任何人都可以试一试吗?谢谢。
DECLARE @options NVARCHAR(MAX);
SELECT @options = N'/server:server1.mydomain.com /username:user1 /password:"my password" /other:"aa /bb \"cc"';
IF OBJECT_ID('dbo.store', N'U') IS NOT NULL DROP TABLE dbo.store;
CREATE TABLE dbo.store
(
key NVARCHAR(MAX),
value NVARCHAR(MAX)
)
// This is the result I want
// +----------+----------------------+
// | Key | Value |
// +----------+----------------------+
// | server | server1.mydomain.com |
// | username | user1 |
// | password | my password |
// | other | aa /bb "cc |
// +----------+----------------------+