2016-09-29 61 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