0

コマンドラインオプションである文字列があります。だとしましょう

/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           |
// +----------+----------------------+
4

2 に答える 2