27,580
社区成员
发帖
与我相关
我的任务
分享
declare @str nvarchar(50)='20190306'
select SUBSTRING(@str,number+1,1) AS code
from master..spt_values
where number<len(@str) and type='P'
/*
code
----
2
0
1
9
0
3
0
6
(8 行受影响)
*/
CREATE FUNCTION [dbo].Fn_GetStrTab (@str VARCHAR(100))
RETURNS @t TABLE (col NVARCHAR(200))
AS
BEGIN
DECLARE @strlen INT;
SELECT @strlen = LEN(@str);
WHILE @strlen > 0
BEGIN
INSERT INTO @t
(
col
)
VALUES (SUBSTRING(@str, 1, 1));
SET @str= STUFF(@str,1,1,'')
SET @strlen = LEN(@str);
END;
RETURN;
END;
--使用测试
SELECT * FROM dbo.Fn_GetStrTab(20190306)