Mysql 是否有任何方法可以在所有数据库中作为sql server中的整数工作
我正在进行数据库迁移。。。我正在根据SQL更改需求。 因此,查询应该可以在所有数据库上工作。 这是我可以在所有数据库中使用的查询Mysql 是否有任何方法可以在所有数据库中作为sql server中的整数工作,mysql,sql,database,sql-server-2008,database-migration,Mysql,Sql,Database,Sql Server 2008,Database Migration,我正在进行数据库迁移。。。我正在根据SQL更改需求。 因此,查询应该可以在所有数据库上工作。 这是我可以在所有数据库中使用的查询 select STD_ID from SCHOOL order by cast(STD_ID as integer) 这是SQL SERVER 2008中运行良好的查询,但在MySQL中不起作用, 是否有任何方法可以更改上述适用于所有数据库的查询。您可能应该查看有关强制转换的MySQL文档: select STD_ID from SCHOOL order by ca
select STD_ID from SCHOOL order by cast(STD_ID as integer)
这是SQL SERVER 2008中运行良好的查询,但在MySQL中不起作用,
是否有任何方法可以更改上述适用于所有数据库的查询。您可能应该查看有关强制转换的MySQL文档:
select STD_ID from SCHOOL order by cast(STD_ID as integer)
看起来“整数”在MySQL中被称为“有符号的”(或者当然是“无符号的”)
我不是(我的)SQL向导,但在谷歌搜索“mysql转换为整数”时得到了上述结果。假设
STD\u ID
是某种字符串,您可以使用:
select STD_ID from SCHOOL order by STD_ID+0
我已经用MySQL和SQLServer在SQLFiddle上测试了这一点,它们似乎都正确地对
INT
进行了隐式转换,不清楚您在问什么。您是否正在寻找一个同时在SQL Server和MySQL中工作的查询?这是可能的,但我们需要知道更多来帮助你。您可以共享学校的CREATE TABLE语句和一些INSERT语句以及示例数据吗?使用mysql的SIGNED
或UNSIGNED
cast(STD_ID为十进制(10,0))
在这两种情况下都可以工作,但可能会导致其他问题。当然,您应该修复SCHOOL
以获得STD_ID
的正确数据类型。