cast和conver在mysql中工作吗?

j2datikz  于 2021-08-01  发布在  Java
关注(0)|答案(1)|浏览(268)

CAST 以及 CONVERT 函数在mysql中工作吗?根据文件,他们应该:https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html
但当我跑的时候

SELECT CAST(25.65 AS varchar);
SELECT CONVERT(varchar, 25.65);

在hackerrank.com上选择了mysql,我收到一个错误:
第1行出现错误1064(42000):您的sql语法有错误;在第1行的“varchar”附近,检查与mysql服务器版本对应的手册,以获得正确的语法
同时,相同的命令在mssqlserver上也可以正常工作。请告诉我,如果我不明白的东西或有一个错误的网站?

k4emjkb1

k4emjkb11#

您已经引用了文档。你还需要仔细阅读。尤其是convert(expr,type)部分列出了允许的类型。令人困惑的是,这些类型与用于定义值的类型不同。
因此,mysql中的工作原理如下:

SELECT CAST(25.65 AS char)
SELECT CONVERT(25.65, char)

对我来说也有类似的问题 int ,其中 cast()unsigned 或者 signed .
请注意 CONVERT() 与sql server的顺序相反。我不知道为什么会这样。我注意到这种情况也发生在 DATEDIFF() 也许还有其他功能。

相关问题