Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CAST和CONVER在MySQL中工作吗?_Mysql_Sql - Fatal编程技术网

CAST和CONVER在MySQL中工作吗?

CAST和CONVER在MySQL中工作吗?,mysql,sql,Mysql,Sql,强制转换和转换函数在MySQL中工作吗? 根据文件规定,他们应: 但是当我跑的时候 SELECT CAST(25.65 AS varchar); SELECT CONVERT(varchar, 25.65); 在选择MySQL的hackerrank.com上,我收到一个错误: 第1行出现错误1064 42000:SQL语法有错误; 检查与MySQL服务器版本对应的手册,了解 第1行“varchar”附近使用的正确语法 同时,相同的命令在MS SQL Server上也可以正常工作。如果我不理解某

强制转换和转换函数在MySQL中工作吗? 根据文件规定,他们应:

但是当我跑的时候

SELECT CAST(25.65 AS varchar);
SELECT CONVERT(varchar, 25.65);
在选择MySQL的hackerrank.com上,我收到一个错误:

第1行出现错误1064 42000:SQL语法有错误; 检查与MySQL服务器版本对应的手册,了解 第1行“varchar”附近使用的正确语法


同时,相同的命令在MS SQL Server上也可以正常工作。如果我不理解某些内容或站点中存在错误,请告诉我?

您已经参考了文档。你还需要仔细阅读。特别是,列出了允许的类型。令人困惑的是,这些类型与用于定义值的类型不同

因此,以下内容在MySQL中起作用:

SELECT CAST(25.65 AS char)
SELECT CONVERT(25.65, char)
int也有类似的问题,其中cast的对应类型是unsigned或signed


请注意,CONVERT的参数与SQLServer的顺序相反。我不知道为什么会这样。我注意到DATEDIFF也会出现这种情况,也许其他函数也会出现这种情况。

您自己提供了链接。你能不能把那页上的例子用一下?MySql没有义务使用SQL Server使用的语法,即使函数的名称恰好匹配。强制转换和转换函数在MySql中工作-是的,但语法与SQL Server不同。强制转换是ANSI SQL,即预期可移植。但是,您需要指定varchar长度,如CAST25.65作为varchar10。