How can I filter words in SQL using a function?
I'm having a hard time if I explain it, so I'm giving an example:
ID | WebsiteName |
---|---|
1 | www.yahoo.com |
2 | www.google.com |
3 | www.youtube.com |
What I want is to get the name of the website. I want to select the record with an output like this. How can I remove the 'www.' and '.com' in the record?
ID | WebsiteName |
---|---|
1 | yahoo |
How about this?
CREATE FUNCTION dbo.StripWWWandCom (@input VARCHAR(250))
RETURNS VARCHAR(250)
AS BEGIN
DECLARE @Work VARCHAR(250)
SET @Work = @Input
SET @Work = REPLACE(@Work, 'www.', '')
SET @Work = REPLACE(@Work, '.com', '')
RETURN @work
END
and then use:
SELECT ID, dbo.StripWWWandCom (WebsiteName)
FROM dbo.YourTable .....
Of course, this is severely limited in that it will only strip www.
at the beginning and .com
at the end - nothing else (so it won't work on other host machine names like smtp.yahoo.com
and other internet domains such as .org
, .edu
, .de
and etc.)