52 lines
874 B
MySQL
52 lines
874 B
MySQL
|
USE [DriveMaintenance]
|
||
|
GO
|
||
|
|
||
|
DECLARE @functionName NVARCHAR(128) = N'SplitIn'; -- 替换为您要查找的函数名称
|
||
|
|
||
|
IF EXISTS (
|
||
|
SELECT 1
|
||
|
FROM sys.objects AS o
|
||
|
WHERE o.name = @functionName
|
||
|
AND o.type IN ('FN', 'TF') -- 表值函数的类型是 FN 或 TF
|
||
|
AND o.is_ms_shipped = 0 -- 排除系统提供的函数
|
||
|
)
|
||
|
BEGIN
|
||
|
DROP FUNCTION [dbo].[SplitIn]
|
||
|
END
|
||
|
|
||
|
SET ANSI_NULLS ON
|
||
|
GO
|
||
|
|
||
|
SET QUOTED_IDENTIFIER ON
|
||
|
GO
|
||
|
|
||
|
CREATE FUNCTION [dbo].[SplitIn]
|
||
|
(
|
||
|
@c VARCHAR(2000),
|
||
|
@split VARCHAR(2)
|
||
|
)
|
||
|
RETURNS @t TABLE
|
||
|
(
|
||
|
col VARCHAR(20)
|
||
|
)
|
||
|
AS
|
||
|
BEGIN
|
||
|
WHILE (CHARINDEX(@split, @c) <> 0)
|
||
|
BEGIN
|
||
|
INSERT @t
|
||
|
(
|
||
|
col
|
||
|
)
|
||
|
VALUES
|
||
|
(SUBSTRING(@c, 1, CHARINDEX(@split, @c) - 1));
|
||
|
SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '');
|
||
|
END;
|
||
|
INSERT @t
|
||
|
(
|
||
|
col
|
||
|
)
|
||
|
VALUES
|
||
|
(@c );
|
||
|
RETURN;
|
||
|
END;
|
||
|
GO
|