nac*_*all 5 sql t-sql sql-server
我想知道以下是否可行.
我有一个SQL函数,它分割一个逗号分隔的字符串,返回一个带有分割值的表.
你好,我的名字是约翰
返回一个表:
ITEM
-----
hello
my name
is
John
Run Code Online (Sandbox Code Playgroud)
A有一个表,为每行存储一个ID和一个逗号分隔的字符串:
VALUE_TO_SPLIT
--------------
1 | a,b,c
1 | d,e,f,g
2 | a,b
3 | a
3 | b,c,f
Run Code Online (Sandbox Code Playgroud)
不使用游标,是否可以获得结果表?
RESULTING_TABLE
1 | a
1 | b
1 | c
1 | d
1 | e
1 | f
1 | g
2 | a
2 | b
3 | a
3 | b
3 | c
3 | f
Run Code Online (Sandbox Code Playgroud)
也就是说,每个分裂值的行及其id.
Aar*_*and 17
该函数看起来像一个内联表值函数; 如果你可以包含这个功能,我们也可以建议它是否是一个有效的实现(并非所有都是).
SELECT t.col, s.Item
FROM dbo.tablename AS t
CROSS APPLY dbo.function_name(t.value) AS s;
Run Code Online (Sandbox Code Playgroud)
您还应该考虑不首先将单独的值存储为以逗号分隔的列表.数据库表不应该是JSON容器,恕我直言.
| 归档时间: |
|
| 查看次数: |
19178 次 |
| 最近记录: |