如何在 sql 中将两列连接成一个新列?
How to concatenate two columns into a new one in sql?
我在将两列合并成一个新列时遇到问题。我只想将 IBAN 和 Currency_code 列连接到 CheckSum 中。当我制作 SELECT *
时,它会出现。
DROP TABLE IF EXISTS transaccio;
CREATE TABLE transaccio (
IBAN varchar(255),
Currency_code varchar (255),
CheckSum varchar(255)
);
我提出了两个选项,但 none 个可行。
选项一:
INSERT INTO transaccio(CheckSum) SELECT (CONCAT(IBAN, Currency_code)) FROM transaccio;
选项二:(它说不知道从哪里获得 IBAN 和 Currency_code)
INSERT INTO transaccio(CheckSum) VALUES (CONCAT(IBAN, Currency_code));
您需要使用 Update
查询而不是 Insert
:
UPDATE transaccio
SET CheckSum = CONCAT(IBAN, Currency_code);
不过这似乎是一个 Generated Column 问题。根据您的 MySQL 版本,您可以改用生成的列。
PostgreSQL 本身不支持生成的列/虚拟列还。您可以参考这个答案:https://dba.stackexchange.com/a/183265/27070 在 PostgreSQL
中模拟它们
您将需要 UPDATE 语句:
UPDATE transaccio
SET CheckSum = CONCAT(IBAN, Currency_code);
我在将两列合并成一个新列时遇到问题。我只想将 IBAN 和 Currency_code 列连接到 CheckSum 中。当我制作 SELECT *
时,它会出现。
DROP TABLE IF EXISTS transaccio;
CREATE TABLE transaccio (
IBAN varchar(255),
Currency_code varchar (255),
CheckSum varchar(255)
);
我提出了两个选项,但 none 个可行。
选项一:
INSERT INTO transaccio(CheckSum) SELECT (CONCAT(IBAN, Currency_code)) FROM transaccio;
选项二:(它说不知道从哪里获得 IBAN 和 Currency_code)
INSERT INTO transaccio(CheckSum) VALUES (CONCAT(IBAN, Currency_code));
您需要使用 Update
查询而不是 Insert
:
UPDATE transaccio
SET CheckSum = CONCAT(IBAN, Currency_code);
不过这似乎是一个 Generated Column 问题。根据您的 MySQL 版本,您可以改用生成的列。
PostgreSQL 本身不支持生成的列/虚拟列还。您可以参考这个答案:https://dba.stackexchange.com/a/183265/27070 在 PostgreSQL
中模拟它们您将需要 UPDATE 语句:
UPDATE transaccio
SET CheckSum = CONCAT(IBAN, Currency_code);