如何使用前导空格更新表中的记录?

时间:2016-06-29 20:11:38

标签: informix

我有一个包含n个记录和n个列的表。我想在特定列中的记录中添加一些前导空格。我怎么能做到这一点?

对于前: 如果列中包含'AAAA'之类的记录,我希望它像' AAA'(少数前导空格)。

2 个答案:

答案 0 :(得分:1)

我相信您正在寻找的是一种将左侧填充的列复制到由length指定的总字节数的方法。您可以使用LPAD来实现它。

但是,如果您想要的只是添加一个空格,无论长度如何,您都可以直接进行" " | column_name

答案 1 :(得分:0)

UPDATE TheAnonymousTable
   SET TheEponymousColumn = '    ' || TheEponymousColumn
 WHERE TheEponymousColumn[1,4] != '    '

这几乎总能奏效。在某些情况下(如果您使用的是MODE ANSI数据库 - 如果您不确定,则不是),如果您的数据已经在列长度的4个空格内,则会出现错误{ {1}}。在上下文中,如果你知道列的长度是32,并且你要插入4个空格,那么你需要写这个:

-1279: Value exceeds string column length