1. ホーム
  2. sql-server-2008

SQL Serverで関数を作成する方法

2023-07-13 19:02:02

質問内容

SQLで関数を使用して単語をフィルタリングする方法について教えてください。

説明すると大変なので、例をあげています。

ID       |       WebsiteName      |
-----------------------------------
1        |      www.yahoo.com     |
2        |      www.google.com    |
3        |      www.youtube.com   |

私が欲しいのは、ウェブサイトの名前を取得する方法です。私はこのような出力でレコードを選択したい。レコード内の'www'と'.com'を削除する方法です。

ID      |      WebsiteName
--------------------------    
1       |        yahoo

ありがとうございました :D

どのように解決するのですか?

これはどうでしょうか?

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

を使い、その後に

SELECT ID, dbo.StripWWWandCom (WebsiteName)
FROM dbo.YourTable .....

もちろん、これは 非常に限られた を取り除くだけなので www. を削除し .com のような他のホストマシン名では動作しません。 smtp.yahoo.com のような他のホストマシン名や、インターネット上のドメインである .org , .edu , .de など)