我是新的甲骨文查询,我想有一些帮助,因为我完全卡住了。
我有一个Products表,其中包含产品ID、价格和产品名称:
我想使用select oracle查询将产品的价格分成美元和美分。
我不知道如何计算,但我尝试了TRUNC函数,但我仍然不能得到美分值。
你能帮帮我吗?
下面是DB表:
CREATE TABLE Products (
ProductID int,
Price varchar(255),
ProductName varchar(255)
);
INSERT INTO Products VALUES (1,5.17,'Apple');
INSERT INTO Products VALUES (2,6.527,'Orange');
INSERT INTO Products VALUES (3,7.12,'Watermelon');
INSERT INTO Products VALUES (4,3.25,'Pear');
INSERT INTO Products VALUES (5,4.123,'Grape');
感谢您的帮助:)
5条答案
按热度按时间6qftjkof1#
使用
TRUNC
获取美元值,使用MOD
(模)获取美分值:对于您的示例数据,它将输出:
小提琴
wmtdaxz32#
这是你需要的。
2izufjch3#
PRICE
为VARHCAR2
?为什么?它应该是一个NUMBER
,因为它是一个数值。在这种情况下:cig3rfwq4#
查询:
输出:
| 产品ID|美元|分|产品名称|
| - -|- -|- -|- -|
| 一个|五个|十七岁|苹果公司|
| 2个|六个|五二七|橙子|
| 三个|七个|十二|西瓜|
| 四个|三个|二十五个|梨形|
| 五个|四个|一百二十三|葡萄色|
说明:
在这里,我选择ProductId,然后使用
trunc
函数删除任何小数(只有DOLLARS值),之后使用nvl
函数替换null
值(如果数字中没有美分),它将被0
和行替换:substr(price - trunc(price),2)
,它将从DOLLARS值中减去全价,得到cents
。备注:
您可以通过不同的方法和其他功能解决此问题查看本文以了解更多信息:Link
dced5bon5#
select ProductID, mete(price,'Dollar','Cent') price, productname from Products;