我有一个SQL查询,它从表中提取必须按此顺序排列的列
项目ID, PARMS, 移动列表, 的MsgId。我在查询中还有一些必须保留的要求,例如UserCode = automation,并且Date设置为当天之前的一天。
一行的Parms输出示例是
CURRENT OUTPUT
Parms:
V51370,Move List,M-000001
-
REQUIRED OUTPUT
Media: v51370
Comments: Was Removed From
Move List: M-000001
我想要做的是将此Parms列拆分为两个单独的列,这些列位于Item Id和Move list列之间。第一列应该被称为Media,它从Parms列中提取前六个字符:v51370。第二列是注释,如果MsgId为1,则注释应为:已从中移除。
任何人都可以对我可以测试的查询提出任何建议吗?我不知道Parms列拆分在哪里。非常感谢。
请注意:我使用的是SQL Server Management Studio 2008,表名是JnlList。
1 SAMPLE ROW (SELECT * FROM JNLLIST):
ItemId: 2
Date: 20122102.124652563
Object: S-000001
MsgID: 1
Parms: V86143,Scratch List,S-000001
Delimiter: -
UserCode: Automation
ActionId: 5
List Type: S
答案 0 :(得分:0)
将parms中的前6个字符分开使用
SELECT SUBSTRING(Parms,1,6) AS Media
FROM YOUR TABLE;
然后,您可以使用具有相同语法的子查询从Parms列中选择其余字符并将它们放入单独的列中