菜单

SQLServer与Oracle常用函数实例相比汇总

2019年5月17日 - MySQL

1、数学函数

1.绝对值

图片 1procedure Pro_SubPro
图片 2  (
图片 3  dw_in in varchar2,
图片 4  cur out pkg_general.ROW_CURSOR
图片 5  )
图片 6  as
图片 7  begin
图片 8  open cur for
图片 9  select yqmc from fle80 where dwbm=dw_in;
图片 10  end Pro_SubPro;
图片 11  
图片 12  procedure Pro_MainPro(
图片 13  dw_in in varchar2
图片 14  )
图片 15  as
图片 16  mc NVARCHAR2(20);
图片 17  cur pkg_general.ROW_CURSOR;
图片 18  begin
图片 19  Pro_SubPro(dw_in,cur);
图片 20  fetch cur into mc;
图片 21  loop
图片 22  exit when cur%notfound;
图片 23  dbms_output.put_line(mc);
图片 24  fetch cur into mc;
图片 25  end loop;
图片 26  end Pro_MainPro; 

复制代码 代码如下:

数学函数
图片 27         在oracle 中distinct关键字能够显得同1记录只体现一条
图片 28  1.绝对值 
图片 29  S:select abs(-1) value 
图片 30  O:select abs(-1) value from dual 
图片 31
图片 32  2.取整(大) 
图片 33  S:select ceiling(-1.001) value 
图片 34  O:select ceil(-1.001) value from dual 
图片 35
图片 36  3.取整(小) 
图片 37  S:select floor(-1.001) value 
图片 38  O:select floor(-1.001) value from dual 
图片 39
图片 40  4.取整(截取) 
图片 41  S:select cast(-1.002 as int) value 
图片 42  O:select trunc(-1.002) value from dual 
图片 43
图片 44  5.4舍伍入 
图片 45  S:select round(1.23456,4) value 1.23460 
图片 46  O:select round(1.23456,4) value from dual 1.2346 
图片 47
图片 48  陆.e为底的幂 
图片 49  S:select Exp(1) value 2.7182818284590451 
图片 50  O:select Exp(1) value from dual 2.71828182 
图片 51
图片 52  七.取e为底的对数 
图片 53  S:select log(2.7182818284590451) value 1 
图片 54  O:select ln(2.7182818284590451) value from dual; 1 
图片 55
图片 56  八.取十为底对数 
图片 57  S:select log10(10) value 1 
图片 58  O:select log(10,10) value from dual; 1 
图片 59
图片 60  9.取平方 
图片 61  S:select SQUARE(4) value 16 
图片 62  O:select power(4,2) value from dual 16 
图片 63
图片 64  10.取平方根 
图片 65  S:select SQRT(4) value 2 
图片 66  O:select SQRT(4) value from dual 2 
图片 67
图片 68  1一.求大四数为底的幂 
图片 69  S:select power(3,4) value 81 
图片 70  O:select power(3,4) value from dual 81 
图片 71
图片 72  1二.取任意数 
图片 73  S:select rand() value 
图片 74  O:select sys.dbms_random.value(0,1) value from dual; 
图片 75
图片 76  13.取符号 
图片 77  S:select sign(-8) value -1 
图片 78  O:select sign(-8) value from dual -1 
图片 79
图片 80  14.圆周率 
图片 81  S:SELECT PI() value 3.1415926535897931 
图片 82  O:不知道 
图片 83
图片 84  一⑤.sin,cos,tan 参数都是弧度为单位 
图片 85  例如:select sin(PI()/2) value 得到1(SQLServer) 
图片 86
图片 87  1陆.Asin,Acos,Atan,Atan二 重回弧度 
图片 88
图片 89  一柒.弧度角度交流(SQLServer,Oracle不清楚) 
图片 90  DEGREES:弧度-〉角度 
图片 91  RADIANS:角度-〉弧度 
图片 92
图片 93数值间相比 
图片 94
图片 95  1八. 求集合最大值 
图片 96  S:select max(value) value from 
图片 97  (select 1 value 
图片 98  union 
图片 99  select -2 value 
图片 100  union 
图片 101  select 4 value 
图片 102  union 
图片 103  select 3 value)a 
图片 104
图片 105  O:select greatest(1,-2,4,3) value from dual 
图片 106
图片 107  1九. 求集结最小值 
图片 108  S:select min(value) value from 
图片 109  (select 1 value 
图片 110  union 
图片 111  select -2 value 
图片 112  union 
图片 113  select 4 value 
图片 114  union 
图片 115  select 3 value)a 
图片 116
图片 117  O:select least(1,-2,4,3) value from dual 
图片 118
图片 119  20.哪些管理null值(F第22中学的null以10代表) 
图片 120  S:select F1,IsNull(F2,10) value from Tbl 
图片 121  O:select F1,nvl(F2,10) value from Tbl 
图片 122
图片 123  21.求字符序号 
图片 124  S:select ascii(‘a’) value 
图片 125  O:select ascii(‘a’) value from dual 
图片 126
图片 127  2二.从序号求字符 
图片 128  S:select char(97) value 
图片 129  O:select chr(97) value from dual 
图片 130
图片 131  23.连接 
图片 132  S:select ’11’+’22’+’33’ value 
图片 133  O:select CONCAT(’11’,’22’)  33 value from dual 
图片 134
图片 135二叁.子串地方 –再次来到三 
图片 136  S:select CHARINDEX(‘s’,’sdsq’,2) value 
图片 137  O:select INSTR(‘sdsq’,’s’,2) value from dual 
图片 138
图片 139  2三.模糊子串的职位 –再次回到贰,参数去掉中间%则赶回七 
图片 140  S:select patindex(‘%d%q%’,’sdsfasdqe’) value 
图片 141  O:oracle没觉察,可是instr能够通过第5个参数调节出现次数 
图片 142  select INSTR(‘sdsfasdqe’,’sd’,1,2) value from dual 返回6 
图片 143
图片 144  24.求子串 
图片 145  S:select substring(‘abcd’,2,2) value 
图片 146  O:select substr(‘abcd’,2,2) value from dual 
图片 147
图片 148  贰伍.子串取代 再次来到aijklmnef 
图片 149  S:SELECT STUFF(‘abcdef’, 2, 3, ‘ijklmn’) value 
图片 150  O:SELECT Replace(‘abcdef’, ‘bcd’, ‘ijklmn’) value from dual 
图片 151
图片 152  二陆.子串全体交替 
图片 153  S:没发现 
图片 154  O:select Translate(‘fasdbfasegas’,’fa’,’我’ ) value from dual 
图片 155
图片 156  27.长度 
图片 157  S:len,datalength 
图片 158  O:length 
图片 159  2八.大小写调换 lower,upper 
图片 160
图片 161  29.单词首字母大写 
图片 162  S:没发现 
图片 163  O:select INITCAP(‘abcd dsaf df’) value from dual 
图片 164
图片 165  30.左补空格(LPAD的率先个参数为空格则同space函数) 
图片 166  S:select space(10)+’abcd’ value 
图片 167  O:select LPAD(‘abcd’,14) value from dual 
图片 168
图片 169  3一.右补空格(RPAD的率先个参数为空格则同space函数) 
图片 170  S:select ‘abcd’+space(10) value 
图片 171  O:select RPAD(‘abcd’,14) value from dual 
图片 172
图片 173  3二.刨除空格 
图片 174  S:ltrim,rtrim 
图片 175  O:ltrim,rtrim,trim 
图片 176
图片 177  3三. 再度字符串 
图片 178  S:select REPLICATE(‘abcd’,2) value 
图片 179  O:没发现 
图片 180
图片 181  3四.发音相似性相比(那五个单词重临值同样,发音同样) 
图片 182  S:SELECT SOUNDEX (‘Smith’), SOUNDEX (‘Smythe’) 
图片 183  O:SELECT SOUNDEX (‘Smith’), SOUNDEX (‘Smythe’) from dual 
图片 184  SQLServer中用SELECT DIFFERENCE(‘Smithers’, ‘Smythers’) 比较soundex的差 
图片 185  返回0-4,4为同音,1最高 
图片 186
图片 187日期函数 
图片 188  35.系统日子 
图片 189  S:select getdate() value 
图片 190  O:select sysdate value from dual 
图片 191
图片 192  3陆.前后几日 
图片 193  间接与整数相加减 
图片 194
图片 195  37.求日期 
图片 196  S:select convert(char(10),getdate(),20) value 
图片 197  O:select trunc(sysdate) value from dual 
图片 198  select to_char(sysdate,’yyyy-mm-dd’) value from dual 
图片 199
图片 200  38.求时间 
图片 201  S:select convert(char(8),getdate(),108) value 
图片 202  O:select to_char(sysdate,’hh24:mm:ss’) value from dual 
图片 203
图片 2043九.取日期时间的其余部分 
图片 205  S:DATEPART 和 DATENAME 函数 (首个参数决定) 
图片 206  O:to_char函数 第二个参数决定 
图片 207
图片 208  参数———————————下表需求补充 
图片 209  year yy, yyyy 
图片 210  quarter qq, q (季度) 
图片 211  month mm, m (m O无效) 
图片 212  dayofyear dy, y (O表星期) 
图片 213  day dd, d (d O无效) 
图片 214  week wk, ww (wk O无效) 
图片 215  weekday dw (O不清楚) 
图片 216  Hour hh,hh12,hh24 (hh12,hh24 S无效) 
图片 217  minute mi, n (n O无效) 
图片 218  second ss, s (s O无效) 
图片 219  millisecond ms (O无效) 
图片 220  ———————————————- 
图片 221
图片 222  40.下个月最终一天 
图片 223  S:不知道 
图片 224  O:select LAST_DAY(sysdate) value from dual 
图片 225
图片 226  四壹.本星期的某一天(比方周六) 
图片 227  S:不知道 
图片 228  O:SELECT Next_day(sysdate,7) vaule FROM DUAL; 
图片 229
图片 230  4二.字符串转时间 
图片 231  S:能够一向转只怕select cast(‘200四-0玖-0八’as datetime) value 
图片 232  O:SELECT To_date(‘2004-01-05 22:09:38′,’yyyy-mm-dd hh24-mi-ss’) vaule FROM DUAL; 
图片 233
图片 234  肆叁.求两天期某一局地的差(比方秒) 
图片 235  S:select datediff(ss,getdate(),getdate()+12.3) value 
图片 236  O:直接用四个日子相减(比方d1-d2=1二.三) 
图片 237  SELECT (d1-d2)*24*60*60 vaule FROM DUAL; 
图片 238
图片 239  44.依照差值求新的日子(举例分钟) 
图片 240  S:select dateadd(mi,8,getdate()) value 
图片 241  O:SELECT sysdate+8/60/24 vaule FROM DUAL; 
图片 242
图片 243  4伍.求分化时区时间 
图片 244  S:不知道 
图片 245  O:SELECT New_time(sysdate,’ydt’,’gmt’ ) vaule FROM DUAL; 
图片 246
图片 247  —–时区参数,东京在东八区应有是Ydt——- 
图片 248  AST ADT 北冰洋专门的学业时间 
图片 249  BST BDT 大澳大利亚湾正规时间 
图片 250  CST CDT 中部规范时间 
图片 251  EST EDT 西边规范时间 
图片 252  螺旋霉素T Green尼治规范时间 
图片 253  HST HDT 阿Russ加?阿萨蒂格岛典型时间 
图片 254  MST MDT 山区规范时间 
图片 255  NST 纽芬兰共和国正式时间 
图片 256  PST PDT 太平洋专门的职业时间 
图片 257  YST YDT YUKON规范时间 
图片 258
图片 259

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

五.4舍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

八.取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

十.取平方根

复制代码 代码如下:

S:select SQRT(4) value 2
O:select SQRT(4) value from dual 2

1一.求任性数为底的幂

复制代码 代码如下:

S:select power(3,4) value 81
O:select power(3,4) value from dual 81

1二.取专擅数

复制代码 代码如下:

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:没找到

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

1陆.Asin,Acos,Atan,Atan二 重回弧度

一七.弧度角度沟通(SQLServer,Oracle没找到)
DEGREES:弧度-〉角度
RADIANS:角度-〉弧度

二、数值间相比较

  1. 求集合最大值

复制代码 代码如下:

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

  1. 求集结最小值

复制代码 代码如下:

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值(F第22中学的null以10代表)

复制代码 代码如下:

S:select F1,IsNull(F2,10) value from Tbl
O:select F1,nvl(F2,10) value from Tbl

二壹.求字符序号

复制代码 代码如下:

S:select ascii(a) value
O:select ascii(a) value from dual

2二.从序号求字符

复制代码 代码如下:

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

二四.子串地点 –重返三

复制代码 代码如下:

S:select CHARINDEX(s,sdsq,2) value
O:select INSTR(sdsq,s,2) value from dual

25.模糊子串的职位 –重返2,参数去掉中间%则赶回七

复制代码 代码如下:

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

2八.子串全部交替

复制代码 代码如下:

S:没发现
O:select Translate(fasdbfasegas,fa,我 ) value from dual

29.长度

复制代码 代码如下:

S:len,datalength
O:length

30.尺寸写转变 lower,upper

3一.单词首字母大写

复制代码 代码如下:

S:没发现
O:select INITCAP(abcd dsaf df) value from dual

3二.左补空格(LPAD的率先个参数为空格则同space函数)

复制代码 代码如下:

S:select space(10)+abcd value
O:select LPAD(abcd,14) value from dual

3三.右补空格(RPAD的首先个参数为空格则同space函数)

复制代码 代码如下:

S:select abcd+space(10) value
O:select RPAD(abcd,14) value from dual

3四.删减空格

复制代码 代码如下:

S:ltrim,rtrim
O:ltrim,rtrim,trim

  1. 双重字符串

复制代码 代码如下:

S:select REPLICATE(abcd,2) value
O:没发现

3六.发音相似性比较(那八个单词再次回到值一样,发音相同)

复制代码 代码如下:

S:SELECT SOUNDEX (Smith), SOUNDEX (Smythe)
O:SELECT SOUNDEX (Smith), SOUNDEX (Smythe) from dual

SQLServer中用SELECT DIFFERENCE(Smithers, Smythers) 比较soundex的差
返回0-4,4为同音,1最高

3、日期函数

三柒.系统年华

复制代码 代码如下:

S:select getdate() value
O:select sysdate value from dual

3八.光景几日
直白与整数相加减

39.求日期

复制代码 代码如下:

S:select convert(char(10),getdate(),20) value
O:select trunc(sysdate) value from dual
select to_char(sysdate,yyyy-mm-dd) value from dual

40.求时间

复制代码 代码如下:

S:select convert(char(8),getdate(),108) value
O:select to_char(sysdate,hh24:mm:ss) value from dual

你可能感兴趣的稿子:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图