0

我有一个查询:

    INSERT
INTO I#journal
  (
    Type_,
    Mndnr,
    Obj,
    Status,
    Reason
  )
  VALUES
  (
    'PO',
    '0177',
    '000222',
    'NEW',
    '1'
  )

这个工作正常。但我想在一个字段中插入多个值而不是“1”,例如“1”、“2”、“3”

通常你会这样做:

INSERT
INTO I#journal
  (
    Type_,
    Mndnr,
    Obj,
    Status,
    Reason
  )
  VALUES
  (
    'PO',
    '0177',
    '000222e',
    'NEW',
    '1,2,3'
  )

但是如果值会放在那里怎么办'1','2','3'

INSERT
INTO I#journal
  (
    Type_,
    Mndnr,
    Obj,
    Status,
    Reason
  )
  VALUES
  (
    'PO',
    '0177',
    '000222e',
    'NEW',
    '1','2','3'
  )

所以,我们不能改变'1','2','3'(由于一些自动化),但我们可以在这个字符串之前和之后添加任何东西。字段中的结果信息Reason应该类似于1,2,3

怎么做?

4

4 回答 4

2

插入值replace(q'$'1','2','3'$', '''', '') 单引号 ( ') 是转义字符。IE

INSERT
INTO I#journal
  (
    Type_,
    Mndnr,
    Obj,
    Status,
    Reason
  )
  VALUES
  (
    'PO',
    '0177',
    '000222',
    'NEW',
    replace(q'$'1','2','3'$', '''', '')
  );
于 2013-04-25T10:40:49.037 回答
1

尝试:

INSERT
INTO I#journal
  (
    Type_,
    Mndnr,
    Obj,
    Status,
    Reason
  )
  VALUES
  (
    'PO',
    '0177',
    '000222e',
    'NEW',
    replace(q'['1','2','3']', q'[',']', '')  )
于 2013-04-25T10:43:54.243 回答
0

试试这个 INSERT

INTO I#journal
  (
    Type_,
    Mndnr,
    Obj,
    Status,
    Reason
  )
  VALUES
  (
    'PO',
    '0177',
    '000222',
    'NEW',
    '1'
  ),(
    'PO',
    '0177',
    '000222e',
    'NEW',
    '1,2,3'
  )
于 2013-04-25T10:33:23.123 回答
0

尝试这个

INSERT INTO I#journal
 (
   Type_,
   Mndnr,
   Obj,
   Status,
   Reason
 )
 VALUES
 (
   'PO',
   '0177',
   '000222',
   'NEW',
   '''1'',''2'',''3'''
 )
于 2017-02-14T21:06:21.433 回答