0

我有一个包含域名数据的表,需要添加一个基于域名“扩展名”的持久计算列,其中域名 = mydomain.com、yourdomain.net、anydomain.org 等,“扩展名”为 . com、.net 和 .org 分别。每个域名扩展都有自己的年度续订费用(9.17 美元、8.21 美元、8.90 美元)。

我需要每一行的计算列来表示域名扩展的年度续费价格:我有一个包含域名数据的表&需要添加一个基于域名“扩展”的持久计算列,其中域名= mydomain.com、yourdomain.net、anydomain.org 等,“扩展名”分别为 .com、.net 和 .org。每个域名扩展都有自己的年度续订费用(9.17 美元、8.21 美元、8.90 美元)。

我需要每一行的计算列来代表域名扩展的年度续费价格:

还有许多其他扩展,但我以这 3 个为例。如何为表列定义?

4

1 回答 1

0

好吧,这是创建执行此操作的计算列的方法:

ALTER TABLE dbo.foo ADD bar AS CONVERT(DECIMAL(5,2),
  CASE extension 
    WHEN '.com' THEN 9.17
    WHEN '.net' THEN 8.21
    WHEN '.org' THEN 8.90 
    -- may want an ELSE condition for a fallback
  END);

但是,您到底为什么要将此作为计算列?这应该标准化,您应该有一个包含每个 TLD 续订率的表,并在需要时加入以获取这些值。特别是如果你有更多...

于 2013-09-30T21:16:54.697 回答