序号
|
函数功能
|
SQL Server用法
|
Oracle用法
|
1
|
绝对值
|
select abs(-1) value
|
select abs(-1) value from dual
|
2
|
取整(大)
|
select ceiling(-1.001) value
|
select ceil(-1.001) value from dual
|
3
|
取整(小)
|
select floor(-1.001) value
|
select floor(-1.001) value from dual
|
4
|
取整(截取)
|
select cast(-1.002 as int) value
|
select trunc(-1.002) value from dual
|
5
|
四舍五入
|
select round(1.23456,4) value
|
select round(1.23456,4) value from dual
|
6
|
为底的幂
|
select Exp(1) value
|
select Exp(1) value from dual
|
7
|
取e为底的对数
|
select log(2.7182818284590451)
|
select ln(2.7182818284590451)
|
8
|
取10为底对数
|
select log10(10)
|
select log(10,10)
|
9
|
取平方
|
select SQUARE(4)
|
select power(4,2)
|
10
|
取平方根
|
select SQRT(4)
|
select SQRT(4)
|
11
|
求任意数为底的幂
|
select power(3,4)
|
select power(3,4)
|
12
|
取随机数
|
select rand()
|
select sys.dbms_random.value(0,1)
|
13
|
取符号
|
select sign(-8)
|
select sign(-8)
|
14
|
圆周率
|
SELECT PI()
|
|
15
|
sin,cos,tan
|
select sin(PI()/2)
|
select sin(PI()/2)
|
16
|
求集合最大值
|
select max(value) value from (select 1 value union select -2 value union select 4 value union select 3 value)a
|
select greatest(1,-2,4,3) value from dual
|
17
|
求集合最小值
|
select min(value) value from (select 1 value union select -2 value union select 4 value union select 3 value)a
|
select least(1,-2,4,3) value from dual
|
18
|
处理null值(F2中的null以10代替)
|
select F1,IsNull(F2,10) value from Tbl
|
select F1,nvl(F2,10) value from Tbl
|
序号
|
函数功能
|
SQL Server用法
|
Oracle用法
|
1
|
求字符序号
|
select ascii('a')
|
select ascii('a') value from dual
|
2
|
从序号求字符
|
select char(97) value
|
select chr(97) value from dual
|
3
|
连接
|
select '11'+'22'+'33' value
|
select CONCAT('11','22')||33 value from dual
|
4
|
子串位置
|
select charindex('s','sdsq',2) value
|
select instr('sdsq','s',2) value from dual
|
5
|
模糊子串的位(返回2,参数去掉中间%则返回7)
|
select patindex('%d%q%','sdsfasdqe') value
|
select INSTR('sdsfasdqe','sd',1,2) value from dual 返回6
|
6
|
求子串
|
select substring('abcd',2,2) value
|
select substr('abcd',2,2) value from dual
|
7
|
子串代替(返回aijklmnef)
|
SELECT STUFF('abcdef', 2, 3, 'ijklmn') value
|
SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual
|
8
|
子串全部替换
|
没发现
|
select Translate('fasdbfasegas','fa','我' ) value from dual
|
9
|
长度
|
Len或datalength
|
length
|
10
|
大小写转换
|
lower,upper
|
lower,upper
|
11
|
单词首字母大写
|
没发现
|
select INITCAP('abcd dsaf df') value from dual
|
12
|
左补空格
|
select space(10)+'abcd' value
|
select LPAD('abcd',14) value from dual
|
13
|
右补空格
|
select 'abcd'+space(10) value
|
select RPAD('abcd',14) value from dual
|
14
|
删除空格
|
ltrim,rtrim
|
ltrim,rtrim,trim
|
15
|
重复字符串
|
select REPLICATE('abcd',2) value
|
lpad('d',6,'0'),rpad(‘d’,6,’0’)
|
16
|
发音相似性比较(这两个单词返回值一样,发音相同)
|
SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe')
|
SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dual
|
序号
|
函数功能
|
SQL Server用法
|
Oracle用法
|
1
|
系统时间
|
select getdate() value
|
select sysdate value from dual
|
|
前后几日
|
直接与整数相加减
|
直接与整数相加减
|
|
求日期
|
select convert(char(10),getdate(),20) value
|
select trunc(sysdate) value from dual select to_char(sysdate,'yyyy-mm-dd') value from dual
|
|
求时间
|
select convert(char(8),getdate(),108) value
|
select to_char(sysdate,'hh24:mm:ss') value from dual
|
|
取日期时间的其他部分
|
DATEPART 和 DATENAME 函数 (第一个参数决定)
|
to_char函数 第二个参数决定
|
|
参数---------------------------------需要补充 year yy, yyyy quarter qq, q (季度) month mm, m (m O无效) dayofyear dy, y (O表星期) day dd, d (d O无效) week wk, ww (wk O无效) weekday dw (O不清楚) Hour hh,hh12,hh24 (hh12,hh24 S无效) minute mi, n (n O无效) second ss, s (s O无效) millisecond ms (O无效)
|
|
当月最后一天
|
没发现
|
select lsat_day(sysdate) value from dual
|
|
本星期的某一天(比如星期日)
|
没发现
|
select Next_day(sysdate,7) vaule FROM DUAL;
|
|
字符串转时间
|
可以直接转或者select cast('2004-09-08'as datetime) value
|
select To_date('2004-01-05 22:09:38','yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL;
|
|
求两日期某一部分的差(比如秒)
|
select datediff(ss,getdate(),getdate()+12.3) value
|
直接用两个日期相减(比如d1-d2=12.3) SELECT (d1-d2)*24*60*60 vaule FROM DUAL;
|
|
根据差值求新的日期(比如分钟)
|
select dateadd(mi,8,getdate()) value
|
SELECT sysdate+8/60/24 vaule FROM DUAL;
|
相关推荐
本文将详细探讨在SQLServer与Oracle数据库系统中常用的数学函数及字符串处理函数之间的差异。对于数据分析师、数据库管理员以及软件开发者而言,掌握这两种数据库管理系统之间的不同之处至关重要,尤其是在进行跨...
本文将对SQLServer与Oracle数据库系统中常用的数学与字符串处理函数进行详细的对比分析。通过具体的示例和解释,帮助读者更好地理解两种数据库管理系统在处理相似需求时的不同实现方式。 #### 数学函数 1. **...
在SQL Server和Oracle数据库系统中,...以上就是SQL Server和Oracle中常用数学函数的比较,理解这些函数对于在两者之间迁移代码或进行跨平台开发非常有帮助。在实际使用中,应根据具体需求和数据库系统选择合适的函数。
描述中提到的"sqlserver转oracle"则是指将SQL Server数据库的内容迁移到Oracle数据库的过程。这个过程涉及到SQL语法的转换,因为SQL Server和Oracle虽然都遵循SQL标准,但各自的语法特性和函数库有所不同。例如,SQL...
Oracle中的对应函数分别是`CEIL()`和`FLOOR()`,使用方式与SQL Server类似,但需加上`FROM DUAL`。 3. 截取整数: SQL Server中,将浮点数截断成整数可以使用`CAST()`函数,如`SELECT CAST(-1.002 AS INT) value`。...
### SQLServer和Oracle常用函数比较 #### 数学函数 在SQLServer与Oracle中,数学函数是执行各种数学操作的关键工具,对于数据处理至关重要。以下是一些常用的数学函数及其在两个数据库系统中的应用。 ##### ...
本文将基于给定文件信息,深入探讨和对比SQLServer与Oracle中的一些常用函数,这些函数涵盖了数学运算、数值处理、字符串操作等多个方面,对于数据库开发者和管理员而言,掌握这些函数的使用方法是提升工作效率的...
以下是对给定内容中提及的SQL Server与Oracle函数的详细对比: ### 数学函数 1. **绝对值函数** - **SQL Server**: 使用`ABS()`函数来获取数值的绝对值。 - **Oracle**: 同样使用`ABS()`函数,但查询语句需包含`...
本篇文章将深入探讨SQL Server与Oracle中的一些常见函数,并进行对比分析,旨在帮助数据库管理员和开发人员更好地理解和应用这些功能。 1. **字符串处理函数**: - SQL Server中的`LEN()`函数用于计算字符串的长度...
### SQLServer与Oracle常用函数对比分析 在数据库领域,SQLServer和Oracle是两种非常流行的数据库管理系统,它们各自拥有一套丰富的内置函数来帮助用户高效地完成数据查询、处理任务。本文将详细介绍这两种数据库...
sqlserver实现Oracle中Lpad和Rpad函数
以上对比总结了 SQL Server 与 Oracle 数据库系统中常用数学函数、字符函数的主要异同点。这些函数是数据库操作的基础,熟练掌握它们对于日常开发工作非常重要。希望本篇内容能够帮助读者更好地理解和应用这两个系统...