目前正在做一个小的统计模块,其中涉及到SqlServer与Oracle数据库的查询。发现在SqlServer和Oracle中Sql语句的表达不太一样,现在发现两点,随着本人对Oracle与Sqlserver数据库的不断应用与学习,本文章将有可能随时更新。
1. 求字持串的长度, oracle 用 length(),sqlserver 用 len().
通常情况下,LENGTH 函数求字符串的长度。 LENGTH 返回一个数值。该值等于参数中的字符个数。如:查询字段 title 中的值长度等于 3 的记录。
select * from table where lenth(title)='3' ; /*Oracle*/
select * from table where len(title)='3' ; /*sqlserver*/
2. 左外关联
oracle 中用 (+)=
而 sqlserver 中用 *=
例如:
select b.kid, a.type from a, b where b.kid(+)=a.id /*Oracle*/
select b.kid, a.type from a, b where b.kid*=a.id /*SqlServer*/