-1

我有一个 SQL 查询,它从必须按此顺序的表中提取列

项目 ID、参数、移动列表、MsgId。我在查询中还有一些要求必须保留在那里,例如 UserCode = automation 并且日期设置为当天的前一天。

一行的 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 Column 之间。第一列应称为 Media,它从 Parms Column: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
4

1 回答 1

0

将前 6 个字符与 parms 使用分开

SELECT SUBSTRING(Parms,1,6) AS Media 
FROM YOUR TABLE;

然后您可以使用具有相同语法的子查询从 Parms 列中选择其余字符并将它们放入单独的列中

于 2013-06-28T15:48:16.890 回答