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)

     

                                          

  • 相关阅读:
    iOS
    UIView
    sql server 无法创建索引 因为对象名称和索引名称重复
    select2多选
    NPOI 给导出Excel添加简单样式
    NPOI简单的给某个单元格字体设置颜色
    ASP.NET MVC5 历史数据查询
    C# 反射Reflection
    C# 程序集Assembly
    GetExecutingAssembly() 和 GetCallingAssembly() 的区别
  • 原文地址:https://www.cnblogs.com/Cqiang/p/2758825.html
Copyright © 2011-2022 走看看