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中文網其他相關文章!