不能正确显示

时间:2019-07-24 04:23:15

标签: sql sql-server database ssms

我需要将所有输入显示在一列中,但这会显示在多列中。

我尝试过更改语法,但是它不起作用:

ALTER PROCEDURE spStringSplit
    @String1 NVARCHAR(255),
    @String2 NVARCHAR(255),
    @String3 NVARCHAR(255)
AS
BEGIN
    SET NOCOUNT ON;

    SELECT @String1
    SELECT @String2
    SELECT @String3
END
GO

EXEC spStringSplit 'a','b','c' 

我需要的是

ColName
--------
a
b
c

1 个答案:

答案 0 :(得分:1)

如果使用的是SQL Server的最新版本,则可以使用VALUES

(语法有点复杂):

SELECT
    *
FROM
    (
        VALUES
        ( @String1 ),
        ( @String2 ),
        ( @String3 )
    )

在旧版SQL Server中,您需要使用UNION ALL

SELECT
    @String1 AS Col1

UNION ALL

SELECT
    @String2 AS Col1

UNION ALL

SELECT
    @String3 AS Col1