首页 >数据库 >mysql教程 >如何在SQL Server中实现MySQL的SUBSTRING_INDEX()函数的功能?

如何在SQL Server中实现MySQL的SUBSTRING_INDEX()函数的功能?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-21 13:12:101001浏览

How to achieve the functionality of MySQL's SUBSTRING_INDEX() function in SQL Server?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn