我正在嘗試在integer
字段上運行簡單的UPDATE
腳本,從而尾隨的2個數字「保留」,並刪除前導數字。例如,「0440」將更新爲「40」。我可以在SELECT
聲明中得到想要的數據,如帶有整數字段的UPDATE語句中的RIGHT函數
SELECT RIGHT(field_name::varchar, 2)
FROM table_name;
不過,我碰到一個錯誤,當我嘗試在UPDATE
腳本中使用了相同的功能,如:
UPDATE schema_name.table_name
SET field_name = RIGHT(field_name::varchar, 2);
我收到的錯誤消息是:
列。 。 。是整數類型,但表達式是文本類型。 。 。 提示:你將需要重寫或鑄表達
對於澄清,是'FIELD_NAME你的表中有'int'或'varchar'列嗎? –
@ChrisJ:標題和錯誤消息說'整數'(儘管問題文本有點誤導)。 –
這個問題似乎太明顯了,所以我認爲它是值得澄清 –