我正在查询页面,其中用户必须根据用户给出的文本框数量输入具有各自年龄的孩子的数量。如果用户输入3个孩子的数量,则输入年龄会出现3个文本框,如果用户输入4个孩子,则现在出现4个文本框我必须在单个字段中插入他们的年龄,如10,6,8,9。直到这一点,我没有问题。
问题是我必须从数据库中获取值并在不同的文本框中显示孩子的年龄。我有一个查询,如果我输入记录10,8,9可以正常工作,但如果我输入的值多于此值,则会出现问题。
我在这里写我的查询请在我的查询中进行全面更改,以便我可以获取超过3个值。提前谢谢。
select ID,
SUBSTRING(Value,1,charindex(',',Value)-1) as v1,
SUBSTRING (Value,(charindex(',',Value)+1),(len(Value)-charindex(',',reverse(Value))-CHARINDEX(',',Value))) as v2,
SUBSTRING (Value,(Len(Value)-charindex(',',reverse(Value))+2),len(Value)) as v3
from Test where ID=2
答案 0 :(得分:1)
SELECT ID, LTRIM(x.XmlCol.value('.','varchar(100)')) 'Item'
FROM
(
SELECT ID, CAST('<A>'+REPLACE(Value,',','</A><A>')+'</A>' AS XML) 'ValueList'
FROM Test) Mytab
CROSS APPLY Mytab.ValueList.nodes('/A') x(xmlcol)
WHERE ID = 2
答案 1 :(得分:0)