MySQL の SUBSTRING_INDEX 関数と同等の SQL Server
MySQL の SUBSTRING_INDEX() 関数は、指定された区切り文字の出現前の部分文字列部分を抽出します。 SQL Server で同様の機能を実現するには、いくつかのアプローチが利用可能です。
T-SQL スカラー関数:
は、T-SQL と XQuery を利用して文字列を XML 行に分割し、必要な区切り文字の一致に一致する行を抽出します。
TSQL インライン テーブル値関数:
指定された区切り文字の一致の数に基づいて結果を返すインライン値テーブルを定義します。T-SQL スカラー関数に似ていますが、表形式です。
使用法例:
T-SQL スカラー関数:
CREATE FUNCTION dbo.SUBSTRING_INDEX ( @str NVARCHAR(4000), @delim NVARCHAR(1), @count INT ) RETURNS NVARCHAR(4000) WITH SCHEMABINDING AS BEGIN /* T-SQL Scalar Function Code */ END; SELECT dbo.SUBSTRING_INDEX(N'www.somewebsite.com', N'.', 2);
TSQL インライン テーブル値関数:
CREATE FUNCTION dbo.SUBSTRING_INDEX ( @str NVARCHAR(4000), @delim NVARCHAR(1), @count INT ) RETURNS TABLE AS RETURN /* TSQL Inline Table-Valued Function Code */ SELECT * FROM ( SELECT N'www.somewebsite.com' UNION ALL SELECT N'www.yahoo.com' UNION ALL SELECT N'www.outlook.com' ) a(Value) CROSS APPLY dbo.SUBSTRING_INDEX(a.Value, N'.', 2) b;
以上がSQL Server で MySQL の SUBSTRING_INDEX() 関数の機能を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。