首页 > 解决方案 > 为什么这条带有 CAST、CONVERT 和 FORMAT 的 SELECT 行不起作用?

问题描述

对 SQL 非常陌生,并且在理解该语句的哪个部分导致错误时遇到了一些麻烦。有一个名为 ap 的数据库,有一个名为 invoices 的表和一个名为 invoice_table 的列。教科书说我应该能够编写一个单一的选择语句来返回 4 列,invoice_total,invoice_total 上的格式,带 1 个小数点,invoice_total 的 CONVERT 作为 INT,invoice_total 的 CAST 作为 INT。但是每次我尝试运行它时都会收到错误 1064。使用 Innodb 作为 dbms 运行 mysql 工作台。

USE ap;
SELECT invoice_total, 
    FORMAT(invoice_total, 1), 
    CONVERT(invoice_total, INT),
    CAST(invoice_total AS INT)  
FROM invoices
;

标签: mysqlsql

解决方案


如果您使用的是 MySQL,则无法将其转换或 CAST 为 INT。仅限签名或未签名。


推荐阅读