私はすべてのレコードについて同じhttps://www.host.com/test
の文字列を考えました。 https://www.host.com/test
の
長は、これは何の長さの制約がなく、常に最後の文字をピックアップ27
DECLARE @Value NVARCHAR(MAX) = 'https://www.host.com/test/smith-tim'
SELECT
SUBSTRING(@Value, 27, CHARINDEX('-', @Value, 27)) AS FullName, -- smith-tim
SUBSTRING(@Value, 27, CHARINDEX('-', @Value, 27) - 27) AS FirstName, -- smith
SUBSTRING(@Value, CHARINDEX('-', @Value, 27) + 1, 10000) AS LastName, -- tim
SUBSTRING(@Value, 0, 27) +
SUBSTRING(@Value, CHARINDEX('-', @Value, 27) + 1, 10000) + '-' +
SUBSTRING(@Value, 27, CHARINDEX('-', @Value, 27) - 27) AS Result -- https://www.host.com/test/tim-smith
文字列を 'replace'したいですか? – HoneyBadger
はい、そうです。 –
SQLは実際に文字列操作用に構築されていません。可能であれば、アプリケーション層でこれを行う方がはるかに簡単です(あなたにとって)。そうでない場合は、[ドキュメント](https://msdn.microsoft.com/en-GB/library/ms181984.aspx)から始まるCHARINDEX、REPLACEなどの関数を参照してください。 – TZHX