【问题标题】:MySQL 5.6 CAST String to Int returns Error 1064MySQL 5.6 CAST String to Int 返回错误 1064
【发布时间】:2018-09-18 06:45:36
【问题描述】:

使用一本书教我 SQL,我偶然发现了一个返回错误 1064 代码的练习,即使我使用了推荐的练习解决方案。

练习: 将字符串 '5' 转换为 INTEGER 并将其添加到数值 20。 显示结果。

代码是:

SELECT CAST('5' AS INTEGER) + 20 AS summe;

错误代码: “错误代码:1064。您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'INTEGER) + 20 AS summe' 附近使用正确的语法”

结果应该是: 25

我能够通过首先将字符串转换为十进制/数字来找到解决方法。但在学习的过程中,我渴望了解自己(或书中)的错误以改进。

感谢您的帮助

【问题讨论】:

  • 在 5.7 中对我来说很好
  • @P.Salmon 到 5.7 您必须使用 SIGNEDUNSIGNEDINTEGER 作为可选后缀)

标签: mysql casting syntax-error


【解决方案1】:

使用签名:

SELECT CAST('5' AS SIGNED integer) + 20 AS summe

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-02
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    相关资源
    最近更新 更多