小编Taa*_*aai的帖子

有效地比较不同货币的价格

我想让用户可以在价格范围内搜索产品。用户应该能够使用任何货币(美元、欧元、英镑、日元、...),无论产品设置什么货币。因此,产品价格为 200USD,如果用户搜索价格为 100EUR - 200EUR 的产品,他仍然可能找到它。如何让它快速有效?

这是我到目前为止所做的。我保存pricecurrency codecalculated_price这是在欧元(EUR)的价格是默认货币。

CREATE TABLE "products" (
  "id" serial,
  "price" numeric NOT NULL,
  "currency" char(3),
  "calculated_price" numeric NOT NULL,
  CONSTRAINT "products_id_pkey" PRIMARY KEY ("id")
);

CREATE TABLE "currencies" (
  "id" char(3) NOT NULL,
  "modified" timestamp NOT NULL,
  "is_default" boolean NOT NULL DEFAULT 'f',
  "value" numeric NOT NULL,       -- ratio additional to the default currency
  CONSTRAINT "currencies_id_pkey" PRIMARY KEY ("id")
);

INSERT INTO "currencies" (id, modified, is_default, value)
  VALUES
  ('EUR', …
Run Code Online (Sandbox Code Playgroud)

postgresql money

10
推荐指数
1
解决办法
3473
查看次数

标签 统计

money ×1

postgresql ×1