2016-12-14 33 views
0

我想根據該行中另一列的值替換一行中兩列的值。當我編譯代碼時,我不會出現任何錯誤,但輸出值最終爲0,無論條件是否滿足。我目前有以下代碼。SQLite中的多列替換

case $column1 
    when 'value1' 
     replace($column2,$column2,'MASKED') and 
     replace($column3,$column3,'MASKED') 
    else $column2 and $column3 
end 

有沒有辦法做我想SQLite中做什麼?

BTW它的工作原理,如果我只是代替提前像這樣一列...

case $column1 
    when 'value1' 
     replace($column2,$column2,'MASKED') 
    else $column2 
end 

謝謝!

+0

顯示整個SQL語句。 –

+0

這是整個聲明。我正在使用ETL工具將表複製到另一個位置。此工具具有表達式構建器工具,用於在傳入表上執行一些自定義轉換。表達式構建器使用SQLite。該工具正在將其自身添加到腳本中的其他任何SQL我都不知道。 – user2635024

回答

1

單個表達式返回單個值,該值可用於單個列。

您必須爲兩列使用兩個表達式。如果您的工具不允許同時使用兩個表達式,則必須運行兩次。

+0

謝謝。我爲該工具中的兩列中的每一列都做了一個表達式,並且工作正常。 – user2635024