2016-10-09 8 views
1

私はこのテーブル作っ:文字間の文字列の選択方法は?

表(ウェブサイト)

WebsiteID | WebsiteName 
2324442  'http://www.samsung.com/us/' 
2342343  'https://www.microsoft.com/en-au/windows/' 
3242343  'http://www.apple.com/au/iphone/' 

をそして私は、このテーブルからドメイン名SELECTにできるようにしたいです。このような

何か:

WebsiteName 
'www.samsung.com' 
'www.microsoft.com' 
'www.apple.com' 

は、私はこのために使用できる文字列の方法はありますか?文字列を///の間で分割する。

答えて

3

あなたはSUBSTRING_INDEX()を使用することができます。

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(websiteName, '//', -1), 
        '/', 1) 
FROM table 
+0

はあなたに@sagiをありがとう! – RoadRunner

+0

ウェブサイトの文字列の最後にスラッシュがない場合はどうなりますか? – RoadRunner

+1

'http:// www.example.com/SomeThing'のようなものを意味すると仮定しても、うまくいくはずです。 @RoadRunner – sagi

1

あなたも、次のように使用することができます。

SELECT WebsiteID , WebsiteName 
(CHARINDEX ('//', WebsiteName, 1) + 1), -- Position of the double slashes 
CHARINDEX('/', REVERSE (WebsiteName), 1), -- Position of the last single slash 
SUBSTRING(WebsiteName, (CHARINDEX ('//' , WebsiteName, 1) + 2), CHARINDEX('/', REVERSE (WebsiteName), 1)) -- Final string 
FROM Table 
+0

答えをありがとう。ウェブサイトの最後にスラッシュがない場合はどうなりますか? – RoadRunner

+0

またちょうどよい答えが2つあります。 – RoadRunner

+0

心配はいりません。必要なときはいつでも使用してください。 –

関連する問題