2016-09-29 30 views
0

我正在编写一个SQL查询,它通过追加单词“CHECKED”来更新CUST_NAME列,但该列只有100个字符长度,但如果我将遇到错误有一个已经很长的客户名,并尝试附加CHECKED它,所以我想在sql中使用Substring函数,但有点难倒我想能够子字符串CUST_NAME字段,如果它将超过100个字符与附加字?我怎样才能做到这一点 谢谢在SQL更新语句中使用子字符串

UPDATE CUST_INFO cust 
    SET CUST_NAME = (CUST_NAME||'_CHECKED') 
    WHERE process_timestamp = null; 
+0

请用你正在使用的数据库标记你的问题。 –

回答

1

这里有一种方法:

UPDATE CUST_INFO cust 
    SET CUST_NAME = SUBSTR(CUST_NAME, 1, 92) || '_CHECKED' 
    WHERE process_timestamp is null; 

此外,如果您想更新任何记录,则使用is null而不是= null(后者从未评估为真)。

注意:并非所有的数据库都有left()函数,您可以使用substr()或相同的函数。

+0

谢谢,我最终使用了oracle的substr()函数,如下所示: (SUBSTR(CUST_NAME,0.92)||'_CHECKED') – user3266259