2011-06-16 221 views
3

我在做从SQL Server到MySQL的查询转换。那么任何人都可以建议一个网站,它提供了不同的关键字,它们将分别在SQL Server和MySQL中执行相同的操作?SQL Server查询到MySQL查询转换

例如,为了获得当前的时间,我们将使用以下关键字

MSSQL getdate() 
MYSQL now() 

这样的,因为我需要的关键字的所有操作。

回答

0

由于SQL查询的MS SQL语法和MySQL相似但不相同,下面是转换MS SQL的查询到MySQL的一些技巧:

  1. MySQL不允许各地列名的表方括号,它们全部必须由`符号替代或切断。例如:[object]将是`object`

  2. 当涉及到JOIN构造中,在WHEREMS SQLONMySQL替换的关键字。例如: ... table1 CROSS JOIN table2 WHERE condition必须翻译为... table1 CROSS JOIN table2 ON condition

  3. 当使用PHP,在MS SQL大多数SQL函数有前缀SQLSRV,而在MySQL功能有前缀MYSQL。例如:sqlsrv_fetch_array,sqlsrv_num_rows,sqlsrv_query将被转换为mysql_fetch_array,mysql_num_rows,mysql_query

  4. 在MS SQL中,LEN()函数用于返回字符串表达式的长度。相当于MySQL的是LENGTH()

  5. CONVERT()函数用于在MS SQL中将一种数据类型的表达式转换为另一种数据类型的表达式。在MySQL中,CONVERT()函数可以在不同的字符集之间转换文本数据。但是,CAST()函数具有相同的功能,因此在MS SQL查询中每次出现convert(type,expression)都必须在MySQL查询中替换为cast(表达式AS类型)。

只是列出了一些提示。更多信息请参阅this页面。 干杯!