修剪表列长度超过x个字符

时间:2019-01-23 16:53:47

标签: sql oracle

我有下面的表格和列。该列为varchar(8)。我需要trim个字符超过7个字符。

TableA

LastName
 Smith
 McKinney

下面的SQL TRIM我的所有行。我们如何只修剪超过7个字符的长度?

update TEST set LASTNAME = SUBSTR(LASTNAME,1,LENGTH(LASTNAME)-1);

1 个答案:

答案 0 :(得分:3)

只需检查起始长度:

update TEST set LASTNAME = SUBSTR(LASTNAME,1,LENGTH(LASTNAME)-1)
where LENGTH(LASTNAME) > 7;

1 row updated.

select * from test;

LASTNAME
--------
Smith
McKinne

在这种情况下,您可以将LENGTH(LASTNAME)-1替换为数字文字7