mysql - 为什么这条带有 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
;
解决方案
如果您使用的是 MySQL,则无法将其转换或 CAST 为 INT。仅限签名或未签名。
推荐阅读
- python - 如何从 python 字典中删除相同的列(相同的索引元素)?
- azure - 使用 Azure CLI 或 API 休息的 Web 应用 Vnet 集成
- python - 跨度解析python
- r - 按条件过滤 data.table,但每 N 行至少保留一行
- sql - 我正在尝试在 SQL 中执行查询,但没有得到正确的返回值
- javascript - 如何从html中的url获取json数据
- asp.net-mvc - 剃刀视图中的html输入我有id和name属性如何在控制器中获取它们的值
- html - Bootstrap 4 - 文本拒绝进入 div 中间
- python - 统计病例总数
- php - 根据天数的日期