首页 > 数据库 >SQLServer和Oracle常用函数对比

SQLServer和Oracle常用函数对比

时间:2024-01-28 20:22:22浏览次数:35  
标签:abcd 10 函数 SQLServer value SELECT dual Oracle select

     1.绝对值 
  S:select abs(-1) value 
  O:select abs(-1) value from dual 

  2.取整(大) 
  S:select ceiling(-1.001) value 
  O:select ceil(-1.001) value from dual 

  3.取整(小) 
  S:select floor(-1.001) value 
  O:select floor(-1.001) value from dual 

  4.取整(截取) 
  S:select cast(-1.002 as int) value 
  O:select trunc(-1.002) value from dual 

  5.四舍五入 
  S:select round(1.23456,4) value 1.23460 
  O:select round(1.23456,4) value from dual 1.2346 

  6.e为底的幂 
  S:select Exp(1) value 2.7182818284590451 
  O:select Exp(1) value from dual 2.71828182 

  7.取e为底的对数 
  S:select log(2.7182818284590451) value 1 
  O:select ln(2.7182818284590451) value from dual; 1 

  8.取10为底对数 
  S:select log10(10) value 1 
  O:select log(10,10) value from dual; 1 

  9.取平方 
  S:select SQUARE(4) value 16 
  O:select power(4,2) value from dual 16 

  10.取平方根 
  S:select SQRT(4) value 2 
  O:select SQRT(4) value from dual 2 

  11.求任意数为底的幂 
  S:select power(3,4) value 81 
  O:select power(3,4) value from dual 81 

  12.取随机数 
  S:select rand() value 
  O:select sys.dbms_random.value(0,1) value from dual; 

  13.取符号 
  S:select sign(-8) value -1 
  O:select sign(-8) value from dual -1 

  14.圆周率 
  S:SELECT PI() value 3.1415926535897931 
  O:select acos(-1) from dual 

  15.sin,cos,tan 参数都以弧度为单位 
  例如:select sin(PI()/2) value 得到1(SQLServer) 

  16.Asin,Acos,Atan,Atan2 返回弧度 

  17.弧度角度互换(SQLServer,Oracle不知道) 
  DEGREES:弧度-〉角度 
  RADIANS:角度-〉弧度 

  18. 求集合最大值 
  S:select max(value) value from 
  (select 1 value 
  union 
  select -2 value 
  union 
  select 4 value 
  union 
  select 3 value)a 

  O:select greatest(1,-2,4,3) value from dual 

  19. 求集合最小值 
  S:select min(value) value from 
  (select 1 value 
   union 
  select -2 value 
  union 
  select 4 value 
  union 
  select 3 value)a 

  O:select least(1,-2,4,3) value from dual 

  20.如何处理null值(F2中的null以10代替) 
  S:select F1,IsNull(F2,10) value from Tbl 
  O:select F1,nvl(F2,10) value from Tbl 

  21.求字符序号 
  S:select ascii('a') value 
  O:select ascii('a') value from dual 

  22.从序号求字符 
  S:select char(97) value 
  O:select chr(97) value from dual 

  23.连接 
  S:select '11'+'22'+'33' value 
  O:select CONCAT('11','22')  33 value from dual 

       24.子串位置 --返回3 
  S:select CHARINDEX('s','sdsq',2) value 
  O:select INSTR('sdsq','s',2) value from dual 

  25.模糊子串的位置 --返回2,参数去掉中间%则返回7 
  S:select patindex('%d%q%','sdsfasdqe') value 
  O:oracle没发现,但是instr可以通过第四个参数控制出现次数 
  select INSTR('sdsfasdqe','sd',1,2) value from dual 返回6 

  26.求子串 
  S:select substring('abcd',2,2) value 
  O:select substr('abcd',2,2) value from dual 

  27.子串代替 返回aijklmnef 
  S:SELECT STUFF('abcdef', 2, 3, 'ijklmn') value 
  O:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual 

  28.子串全部替换 
  S:select replace('abcdefg','de','12')
  O:select Translate('fasdbfasegas','fa','我' ) value from dual 

  29.长度 
  S:len,datalength 
  O:length 


  30.大小写转换 lower,upper 

  31.单词首字母大写 
  S:没发现 
  O:select INITCAP('abcd dsaf df') value from dual 

  32.左补空格(LPAD的第一个参数为空格则同space函数) 
  S:select space(10)+'abcd' value 
  O:select LPAD('abcd',14) value from dual 

  33.右补空格(RPAD的第一个参数为空格则同space函数) 
  S:select 'abcd'+space(10) value 
  O:select RPAD('abcd',14) value from dual 

  34.删除空格 
  S:ltrim,rtrim 
  O:ltrim,rtrim,trim 

  35. 重复字符串 
  S:select REPLICATE('abcd',2) value 
  O:没发现 

  36.发音相似性比较(这两个单词返回值一样,发音相同) 
  S:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') 
  O:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dual 
  SQLServer中用SELECT DIFFERENCE('Smithers', 'Smythers') 比较soundex的差 
  返回0-4,4为同音,1最高 

  37.系统时间 
  S:select getdate() value 
  O:select sysdate value from dual 

         38.当月最后一天
    S:select dateadd(month, datediff(month, 0, dateadd(month, 1, getdate())), -1)
    O:select LAST_DAY(sysdate) value from dual

标签:abcd,10,函数,SQLServer,value,SELECT,dual,Oracle,select
From: https://www.cnblogs.com/lgx5/p/17993254

相关文章

  • 【回调函数】
    利用设计简易计算器,来学习【回调函数】因为这一次的重点并不在计算器的实现,所以计算器很多细节并不关注。比如:没有按位操作、除法没有使用浮点数、等等......头文件部分:#pragmaonce//菜单voidMenu();//加减乘除intAdd(inta,intb);intSub(inta,intb);intMul(......
  • 桶排序(自创函数)
      1//综合2#include<iostream>3#include"liu.h"4usingnamespacestd;5classliu{6private:7intm=10;8intvalue;9intmaxx=10000;10intlist[10000]={0};11public:12......
  • 互为反函数问题
    涉及互为反函数的问题前言典例剖析已知常数\(m\inR\),若函数\(f(x)=2^{x-m}\)的反函数\(g(x)\)的图象经过点\((4,2)\),则\(m=\)__________.法1:由于\(g(x)\)的图象经过点\((4,2)\),且\(f(x)\)与\(g(x)\)关于直线\(y=x\)故\(f(x)\)的图象经过点\((2,4)\),代入\(f......
  • 再谈函数式编程:释放编程创造力
    当抽象程度足够高,编程就能接近数学的优雅。在“Go模板:用代码生成代码”一文中,谈到了生成器模式的实现。先Copy如下:生成器模式(Builder)假设我们要造一辆车,车有车身、引擎、座位、轮子。Go的生成器模式的代码是这样子的:packagemodelimport"fmt"typeChinaCarstruc......
  • Oracle RAC SCAN ip的原理、配置及优缺点
    在oracle11g中,SCANIP还用的很少。到oracle12.2或者19c,用户已经基本上清一色的切换到了SCANIP。所以很有必要理解oracle的SCANIP运行机制和配置。先回顾下VIP。RAC的每个节点都需要有一个虚拟IP,这就是VIP。VIP需要和PUBLICIP同一个子网,它们是由GI的Clusterware来管理......
  • 为什么使用交叉熵作为逻辑回归的损失函数?
    整理以前学习过程中的疑问。为什么使用交叉熵作为逻辑回归的损失函数?频率学派的一种估计参数的方法,这种方法适合分类回归任务。必须要提一下的是,频率学派将参数\(\theta\)​看作一个未知待估计的常数,其目标是使用带一定性质的估计方法求出。似然函数就是其中的一种方法。A......
  • oracle启动服务命令
    启动Oracle服务的方法有多种,以下是其中几种常见的方法:1、使用命令行启动服务: 在Windows系统中,打开命令提示符窗口,输入以下命令: shell复制代码 netstartOracleService<ORCL实例名称>在Linux系统中,启动服务的命令有所不同,具体可以参考Oracle的......
  • 通达信双人合抱,源码有未来函数的源码副图
     双人合抱网友投稿的公式,竟然是这样的一个公式,源码有未来函数的 ZYX1:="DMI.PDI"(12,6);ZYX2:="DMI.MDI"(12,6);ZYX3:=ZYX1>65ANDZYX1>REF(ZYX1,1);ZYX4:=LLV(ZYX1,0);ZYX5:=BARSLAST(ZYX4=ZYX1);ZYX6:=(0-REF(ZYX2,4))/(ZYX4-REF(ZYX2,ZYX5))>2;ZYX7:=ZYX1......
  • 工作表函数是色盲
    问题:用函数列出序列数,跳过灰色单元格。解决:添加辅助列再使用公式=IF(C2="休息日","",COUNTIF(C$2:C2,"工作日"))工作表函数无法对颜色进行判断,所以添加辅助列说明灰色与非灰色的差异If部分用于判断当C列是休息日时返回空Countif部分计算工作日依次出现的次数,以此作......
  • C# .NET 中 LINQ to Entities查询中使用时转换为数据库函数的CLR方法(EF.Functions)
    EF.Functions映射由于并非所有数据库函数都有等效的C#函数,因此EFCore提供程序提供了特殊的C#方法来调用某些数据库函数。这些方法通过EF.Functions定义为扩展方法来用于LINQ查询中。这些方法是特定于提供程序的,因为它们与特定数据库函数密切相关。因此,适用于某个......