我從 csv 檔案中復制資料,我想插入一個值,該值取決于 csv 檔案中的資料是否讀取yes或no
CREATE TYPE colour_type as ENUM ('red', 'blue');
CREATE TABLE colour_table
(
colour colour_type
);
CREATE TABLE Dummy
(
colour_type_dummy varchar(40)
);
\copy TABLE FROM 'colours.csv' WITH (FORMAT CSV, HEADER);
-- This is the part where I cant figure out the syntax for the IF statement
INSERT INTO colour_table (colour)
SELECT 'red' IF colour_type_dummy = 'yes' else 'blue' FROM Dummy
uj5u.com熱心網友回復:
您可以嘗試使用CASE WHEN運算式
INSERT INTO colour_table (colour)
SELECT CASE WHEN colour_type_dummy = 'yes' THEN 'red'::colour_type ELSE 'blue'::colour_type END
FROM Dummy
sqlfiddle
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/463049.html
標籤:sql PostgreSQL
