sql server 注意事项(二)

sql server与mysql最主要的区别是 sql server对sql的语法要求非常严格 ,而mysql对sql的语法容错较好。

因此当我们在写一些包含分组(group by)的语句时 ,select 后面的字段 必须包含在group by子句或者聚合函数中.

select * from es_order group by member_id;

在mysql中可以正确执行;而在sqlserver中,则会报错:

因此我们在写sql语句时,为了更好的兼容性,一定要写的严谨一些;而多数情况下,不兼容多是因为sql语句不够严禁造成的。

另外,mysql、oracle、sqlserver不兼容也有可能是各自的内置函数不同导致,例如:

mysql和oracle共同支持instr()函数,而sqlserver不支持此方法,如果需要使用按指定字段、指定顺序排序的话,则需要使用charindex函数

发表评论