我正在从SQL Server到MySQL进行查询转换。那么有人可以建议一个网站提供不同的关键字,它们将分别在SQL Server和MySQL中执行相同的操作吗?
例如,要获取当前时间,我们将使用以下关键字
MSSQL getdate()
MYSQL now()
像这样,对于我需要关键字的所有操作。
答案 0 :(得分:2)
我做了几次,我的建议是google如下
Mysql中的Mssql getdate()
,而不是像http://www.x7media.com/resources/SQL_Differences_Between_Microsoft_SQL_Server_and_MySQL.asp
这样的网站答案 1 :(得分:2)
您是否查看了网站上提供的MySQL文档?
快速搜索发现:A Practical Guide to Migrating From Microsoft SQL Server to MySQL
你必须注册才能获得该文件,但这可能值得一读。
我也找到了这个页面:Migrating from Microsoft SQL Server and Access to MySQL
其中包含有关流程的一般信息,并列出了一些迁移工具(尽管有些可能是Access特有的)
答案 2 :(得分:0)
由于MS SQL
和MySQL
中的SQL查询语法相似但不完全相同,因此以下是将MS SQL转换为MySQL查询的一些提示:
MySQL不允许在列名表周围使用方括号,它们都必须用`
符号替换或切断。例如: [object] 将是`object` 。
在JOIN
构造方面,WHERE
中的关键字MS SQL
被ON
中的MySQL
取代。例如:
... table1 CROSS JOIN table2 WHERE condition
必须翻译为... table1 CROSS JOIN table2 ON condition
。
使用PHP时,MS SQL
中的大多数SQL函数都有前缀 SQLSRV ,而MySQL
中的函数前缀 MYSQL < / strong>即可。例如:sqlsrv_fetch_array
,sqlsrv_num_rows
,sqlsrv_query
将转换为mysql_fetch_array
,mysql_num_rows
,mysql_query
。
在MS SQL中,LEN()
函数用于返回字符串表达式的长度。 MySQL
相当于LENGTH()
。
CONVERT()函数用于在MS SQL中将一种数据类型的表达式转换为另一种数据类型。在MySQL中,CONVERT()函数在不同的字符集之间转换文本数据。但是,有相同的函数CAST(),因此在MS查询中每次出现的转换(类型,表达式)都必须在MySQL查询中替换为强制转换(表达式AS类型)。
仅列出一些提示。有关详细信息,请参阅this页面。 干杯!