integer
フィールドで単純なUPDATE
スクリプトを実行しようとしています。これにより、後続の2つの数値が「保持」され、先頭の数字が削除されます。たとえば、「0440」は「40」として更新されます。UPDATEステートメントw /整数フィールドの右の関数
UPDATE schema_name.table_name
SET field_name = RIGHT(field_name::varchar, 2);
:私のような、UPDATE
スクリプトでこれと同じ機能を使用しようとすると、私は、このようなしかし
SELECT RIGHT(field_name::varchar, 2)
FROM table_name;
として、私はエラーに遭遇し、SELECT
文で必要なデータを取得することができます私が受け取るエラーは:
の列を読み取ります。 。 。整数型ですが、式はテキスト型です。 。 。 ヒント:あなたはvarchar型に整数をキャストしているが、あなたが戻って整数に結果をキャストしていない表現
を、 'FIELD_NAMEですあなたのテーブルに 'int'か' varchar'カラムがあるのでしょうか? –
@ChrisJ:タイトルとエラーメッセージは 'integer'と言っています。(質問テキストは少し誤解を招いています) –
問題はあまりにも明白です。明確にする価値がある –