zoukankan      html  css  js  c++  java
  • Oracle PL/SQL 和 SQL Server TSQL 的一些比较

    1.字符串连接

    Oracle用 || 符号作为连接符,而SQL Server的连接符是加号:+ 。

    Oracle查询如下:SELECT 'name' || 'last Name' FROM table 

    SQL Server查询如下:SELECT  'name' + 'last Name'

    2.数字取舍 

    Oracle数据库内有一个TRUNC函数,该函数返回m位十进制数的n位;如果省略m则n就是0位。而SQL Server下可以用ROUND。 

    Oracle查询如下:SELECT  TRUNC(15.79,1) FROM DUAL;    --不四舍五人

    SQL Server查询如下:SELECT ROUND(15.79, 0) ;   --四舍五入

    3.数字转换 

    Oracle的TO_CHAR函数可以把n位NUMBER数据类型转换为VARCHAR2 数据类型,同时采用可选的数字格式。 而SQL Server则通过STR函数返回数字转换之后的字符数据。不过,该函数不具方便的Format参数。 

    Oracle查询如下所示:SELECT to_char(15.79 , 99.99) from dual
                                SELECT to_char(SYSDATE,'YYYY-MM-DD') from dual 

    SQL Server查询如下:SELECT STR(15.79) 
                SELECT CAST(CONVERT(VARCHAR(10), GETDATE(),120) AS VARCHAR(10))

    4.LENGTH和LEN 

    Oracle查询如下:SELECT LENGTH('SQL') FROM DUAL; 

    SQL Server查询如下:SELECT LEN('SQL') ;

    5.日期 

    两种系统都具有各自的当前日期和时间格式。 Oracle取得日期:SYSDATE , SQL Server则是:GETDATE()

    Oracle日期值中的月份进行了格式调整(返回日期再加上n月):SELECT add_months(SYSDATE, 12) FROM dual

    SQL Server则是如下完成同等功能的:SELECT DATEADD(mm,12, GETDATE())

    Oracle日期值中直接对数据进行减法操作:SELECT add_months(SYSDATE, 12) - SYSDATE FROM dual

    SQL Server则是如下完成同等功能的:SELECT DATEDIFF(dd, GETDATE() ,DATEADD(mm,12, GETDATE()))

    6.执行查询时

    PLSQL执行查询的时候,FROM子句是必须的,而SQL SERVER不一定

    Oracle查询如下: SELECT 2*5 FROM dual

    SQL SERVER查询如下: SELECT  2*5

    7. 更新语句的区别

    在T-SQL中更新相对简单些,直接用下面的语句都是可以:

    UPDATE t1 SET t1.Money = t2.Money FROM sell t1 LEFT JOIN sellst t2 ON t1.id = t2.id

    UPDATE sell SET Money = t2.Money FROM sellst t2 WHERE t2.ID = ID

    而在Oracle中这样写是不对的,应该更改如下:

    UPDATE sell t1 SET t1.money = (SELECT t2.money FROM sellst t2 WHERE t1.id = t2.id)  WHERE EXISTS (SELECT 1 FROM sellst t2 WHERE t2.id = t1.id)

     

                                          

  • 相关阅读:
    通用二进制格式安装、编译安装过程(以mysql为例)
    linux:网络
    深圳:软通-运维
    深圳:软通-python
    linux:用户管理
    linux:vim
    深圳:卡莱特-售前/售后服务
    linux:基本指令
    linux:安装
    电脑:磁盘扩容
  • 原文地址:https://www.cnblogs.com/Cqiang/p/2758825.html
Copyright © 2011-2022 走看看