我有一個字符串,它是一個命令行選項。比方說,這是使用TSQL解析命令行選項
/server:server1.mydomain.com /用戶名:用戶1 /密碼: 「我的密碼」 /其他 「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 |
// +----------+----------------------+
如果命令行總是看起來相同,則應該很容易使用子字符串和len函數進行解析。如果我沒有在手機上瀏覽,我會爲你寫信:) – jpw
謝謝jpw。命令行不固定。代碼中的字符串就是一個例子。 – user133580