资源描述:
《oracle和sqlserversql语句的区别》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、ORACLE和SQLServerSQL语句的区别S:SQL Server: O:Oracle: S:Select top 1 * from tablename O:Select * from tablename where rownum < 2 S:Select A.*, B.* from A left Join B on A.bh=B.bh O:Select A.*, B.* from A, B where A.bh=B.bh(+) S:Select A.*,
2、B.* from A right join B where A.bh=B.bh O:Select A.*, B.* from A, B where A.bh(+)=B.bh 注:oracle9开始支持join写法 S:Select * from tablename where lrsj >= ‘2002-11-11’ O:Select * from tablename where lrsj>= to_date(‘2002-11-11’,’yyyy-mm-dd’) S:Select ge
3、tdate() O:Select sysdate from dual S:Select Field1+Field2 from A O:Select Field1
4、
5、 Field2 from A (指字符串的) 标准的SQL是一样的. SQL的扩展部分各自有不同的语法 sql server :Transact-SQL oracle :PL/SQL 这里有一个oracle的不太全的但比较常用函数说明: SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数;
6、SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32
7、 2.CHR 给出整数,返回对应的字符; SQL> select chr(54740) zhao,chr(65) chr65 from dual; ZH C -- - 赵 A 3.CONCAT 连接两个字符串; SQL> select concat('010-','88888888')
8、
9、'转23' 高乾竞电话 from dual; 高乾竞电话 ---------------- 010-88888888转23 4.INITCAP 返回字符串并将字符串的第一个字母变为大写; S
10、QL> select initcap('smith') upp from dual; UPP ----- Smith 5.INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的开始位置,默认为1 J 出现的位置,默认为1 SQL> select instr('oracle traning','ra',1,2) instring from dual
11、; INSTRING --------- 9 6.LENGTH 返回字符串的长度; SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst; NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL)) -
12、----- ------------ ---------------- -