最後の行は、最終的な答えを持っていますが、私は物事はもう少し一貫性にするために手順を分解しました。
最初のWebスペースと完全停止の間の値を戻します。また
DECLARE @Comments as VARCHAR(255)
SET @Comments = 'NAB 12345 Tom Heading [email protected] Web 20294821. Australia Regular Post'
SELECT @Comments
-- Assume there is only one occurence of web and a space
SELECT CHARINDEX('Web ', @Comments)
--Show the substring starting from the number (skip for 4 characters for web and a space)
SELECT SUBSTRING(@Comments, CHARINDEX('Web ', @Comments) + 4, LEN(@Comments))
--Find the full stop after the web space
SELECT CHARINDEX('.', SUBSTRING(@Comments, CHARINDEX('Web ', @Comments) + 4, LEN(@Comments)))
--Combine all of the above logic to give the answer
SELECT SUBSTRING(@Comments, CHARINDEX('Web ', @Comments) + 4, CHARINDEX('.', SUBSTRING(@Comments, CHARINDEX('Web ', @Comments) + 4, LEN(@Comments)))-1)
は数がスペースとドットの間で常に削除されますか? – ydoow
ソースデータに応じて、スペースを数えるだけのベストタイムがあります。期間はユニークではなく、おそらく変わる可能性があります(電子メール)。名前部分のスペースが変わる可能性があるかどうかは不明です(人は最初の名前、複数の名前の姓/名、または名前を1つだけ入力します)。あなたのデータの他の部分はどのくらい一定ですか? –
@ydoowパターン "Web xxxxxxx"いつもそこにいる.. –