gpt4 book ai didi

sql - create-table 中的 Case 语句

转载 作者:行者123 更新时间:2023-11-29 11:41:51 24 4
gpt4 key购买 nike

在创建表/列时如何在 SQL => PostgreSQL 中使用“java if 语句”?

    CREATE TABLE Store(
Discount INT
AS CASE
WHEN SOLD_Amount>100000 THEN 2
WHEN SOLD_Amount>500000 THEN 5
WHEN SOLD_Amount>1000000 THEN 10
ELSE 0
END
NOT NULL)

这可能是错误的,请告诉我们社区如何执行此类操作。

最佳答案

您在这里寻找的是一个计算列,Postgres 不直接支持它。您可以在 View 中实现它,如下所示:

CREATE VIEW someview AS
SELECT SOLD_Amount,
CASE
WHEN SOLD_Amount>100000 THEN 2
WHEN SOLD_Amount>500000 THEN 5
WHEN SOLD_Amount>1000000 THEN 10
ELSE 0
END As Discount

或者您可以使用触发器在插入/更新时填充列。

关于sql - create-table 中的 Case 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14045738/

24 4 0