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中文网其他相关文章!