SQL数据类型MONEY不输出$



我正在做一份SQL类入门的作业,并且在正确输出某些信息方面遇到了麻烦。

CREATE TABLE PRODUCT(
ProductID       CHAR(5)         NOT NULL,
ProductName     CHAR(20)        NOT NULL,
ProductPrice    MONEY           NOT NULL,
VendorID        CHAR(5)         NOT NULL,
CategoryID      CHAR(5)         NOT NULL,
CONSTRAINT Product_PK PRIMARY KEY (ProductID),
CONSTRAINT Product_FK1 FOREIGN KEY (VendorID)
REFERENCES VENDOR(VendorID),
CONSTRAINT Product_FK2 FOREIGN KEY (CategoryID)
REFERENCES CATEGORY(CategoryID)
);
INSERT INTO PRODUCT
VALUES
('1X1', 'Zzz Bag', '$100', 'PG', 'CP'),
('2X2', 'Easy Boot', '$70', 'MK', 'FW'),
('3X3', 'Cosy Sock', '$15', 'MK', 'FW'),
('4X4', 'Dura Boot', '$90', 'PG', 'FW'),
('5X5', 'Tiny Tent', '$150', 'MK', 'CP'),
('6X6', 'Biggy Tent', '$250', 'MK', 'CP')
;

我已经写出了上面的代码,但是当我运行select查询:

SELECT *
FROM PRODUCT;
我得到的输出是:
1X1     Zzz Bag                 100.00  PG      CP   
2X2     Easy Boot               70.00   MK      FW   
3X3     Cosy Sock               15.00   MK      FW   
4X4     Dura Boot               90.00   PG      FW   
5X5     Tiny Tent               150.00  MK      CP   
6X6     Biggy Tent              250.00  MK      CP   

和我希望得到

1X1     Zzz Bag                 $100.00 PG      CP   
2X2     Easy Boot               $70.00  MK      FW   
3X3     Cosy Sock               $15.00  MK      FW   
4X4     Dura Boot               $90.00  PG      FW   
5X5     Tiny Tent               $150.00 MK      CP   
6X6     Biggy Tent              $250.00 MK      CP   

可以看到$由于某种原因没有出现。如有任何帮助,不胜感激。

您可以使用format(value, 'C'):

https://learn.microsoft.com/en-us/sql/t-sql/functions/format-transact-sql?view=sql-server-ver16https://learn.microsoft.com/en-us/dotnet/standard/base-types/formatting-types

对于计算机来说,将数值存储为二进制值比存储为字符串要高效得多。例如,我们读取"100",但在计算机中,它被存储和处理为000000001100100这样的值。注意,在这里,"高效"的意思是"非常快",速度=时间=金钱。特别是当你谈论大容量事务(#/millisecond, #/transaction)时。

:

  • 当一个应用程序从数据库中读取一个值要显示给用户时,它必须以用户可以理解的形式格式化该值。这不会改变在计算机内存中存储和处理的值,它只是改变了它在屏幕上的显示方式/打印收据/其他。
  • 然而,要处理或存储一个值,必须以一种(有效的!)在数据库中存储、读取和处理的格式来完成。

这里的重点是,数据库负责存储值,并且只负责存储值。您需要正确配置您的应用程序以获得所需的演示格式,使用$(或£或¥),以及适当的标点符号(1000000 vs. 1,000,000 vs. 1,000.000,00 vs.……无论用户喜欢看到什么)。

相关内容

  • 没有找到相关文章

最新更新