2016-06-29 16 views
0

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

对于例如: 如果该列有类似'AAAA'的记录,我希望它像' AAA'(少数领先的空格)。

+0

你打算失去一个A的吗?如果是这样,哪一个?如果该列包含“BBB”或“XYZ”,该怎么办? –

回答

1

我相信你正在寻找的是一种方法来复制一个左填充列的总长度指定的字节数。你可以通过使用LPAD来实现它。

但是,如果你想要的只是添加一个空间,无论长度,你可以直接做" " | column_name

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

这将几乎总是工作。在某些情况下(如果您使用的是MODE ANSI数据库 - 如果您不确定,则不是),并且如果您的数据已经在列长度的4个空格内,则会收到错误-1279: Value exceeds string column length 。在上下文中,如果你知道列的长度是32,并且你插入4个空格,那么你需要写下这个:

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