【发布时间】:2014-06-27 01:28:22
【问题描述】:
我在历史表中有一个包含此类数据的表。
MEMBER_ID COLORS
1 1) Red 2) Blue 3) Green
我需要修改或选择数据,使结果集看起来像这样。
MEMBER_ID COLORS
1 #1) Red #2) Blue #3) Green
简而言之,在数字和右括号之前插入井号。
我尝试使用CHARINDEX,但我尝试过的方法不起作用。
【问题讨论】:
-
会一直是个位数吗?
-
是的,大多在 1 到 9 之间。
-
我在想您可以根据 ) stackoverflow.com/questions/4266957/… 拆分字符串,然后附加您的 # 然后将数据拉回一起。 stackoverflow.com/questions/194852/… 我开始拉小提琴。 sqlfiddle.com/#!6/4f6fa/24
-
嗯......在下面你说“它可能是 3 或 10”。是否有任何两位数的索引?另外,为了澄清任何解决方案所需的复杂性,被索引的文本是否可能包含数字?
-
这很好地说明了为什么如果您的数据具有结构,那么该结构应该在数据库中可见。如果有一个名为 MemberColors 的表,其中包含列
Member_ID, Sequence, Color和行(1,1,Red)、(1,2,Blue)和(1,3,Green),那么获取 current 字符串值或新需要的字符串值将是琐碎的格式化问题,您可以在 SQL 中尝试或在屏幕上显示数据时仅在更高级别上执行。
标签: sql-server tsql