Redian新闻
>
誰來解釋一下這是什麼原理
avatar
誰來解釋一下這是什麼原理# Database - 数据库
d*r
1
有一朋友,EB1a I140 已批,现正准备File I485.
朋友打算在几个月绿卡到手后独自回国工作,其家人则可能继续在美国工作。他的绿卡
能保吗?或是应当暂时不递交I485?
谢谢帮助!!
avatar
i*a
2
我只會寫一個 funcation,並使用 cross apply call the funcation. 此 query 好象
很利害, 不需要 function.
http://mangalpardeshi.blogspot.com/2009/03/how-to-split-comma-d
Create Sample Data :
-- Create Table for Sample Data
CREATE TABLE Test
(
ID INT,
AllNames VARCHAR(100)
)
GO
-- Load Sample Data
INSERT INTO test SELECT
1, 'A,B,C' UNION ALL SELECT
2, 'A,B' UNION ALL SELECT
3, 'X,Y,Z'
GO
-- Verify the Sample Data
SELECT Id, AllNames
FROM Test
And here is the query for How to split a comma delimited string :
;WITH Cte AS
(
SELECT
id,
CAST('' + REPLACE( Allnames, ',' , '') + '' AS XML)
AS Names
FROM Test
)
SELECT
ID,
Split.a.value('.', 'VARCHAR(100)') AS Names
FROM Cte
CROSS APPLY Names.nodes('/M') Split(a)
avatar
s*0
3
CROSS APPLY 对multiple level XML很有用,他会选择所有那一个level的 nodes, 然后你可以用 .value 去读那个XML node里的 attribute value 和data value.
这个CTE只不过是把 Column ‘AllNames’ 里的数据 转换成一个XML string。 把 ‘,’之间的内容全搞成一个XML node。 其实只是一个很简单的xpath 的select而已。
avatar
i*a
4
apply 還有 built in function, .value, .node etc. nice

然后你可以用 .value 去读那个XML node里的 attribute value 和data value.
‘,’之间的内容全搞成一个XML node。 其实只是一个很简单的xpath 的select而已。

【在 s**********0 的大作中提到】
: CROSS APPLY 对multiple level XML很有用,他会选择所有那一个level的 nodes, 然后你可以用 .value 去读那个XML node里的 attribute value 和data value.
: 这个CTE只不过是把 Column ‘AllNames’ 里的数据 转换成一个XML string。 把 ‘,’之间的内容全搞成一个XML node。 其实只是一个很简单的xpath 的select而已。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。