コマンドラインオプションである文字列があります。だとしましょう
/server:server1.mydomain.com /username:user1 /password:"my 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 |
// +----------+----------------------+