Oracle的TRUNC、ROUND函数详解,Sybase中功能相同的函数

合集下载

ORACLE常用函数汇总

ORACLE常用函数汇总

ORACLE常用函数汇总Oracle是一种常用的关系型数据库管理系统,它提供了许多方便的函数来处理和操作数据。

以下是一些常用的Oracle函数的汇总:1.字符串函数:-CONCAT:用于连接两个字符串。

-UPPER:将字符串转换为大写。

-LOWER:将字符串转换为小写。

-LENGTH:返回字符串的长度。

-SUBSTR:返回字符串的子串。

2.数值函数:-ABS:返回数字的绝对值。

-ROUND:返回一个四舍五入的数字。

-TRUNC:返回数字的整数部分。

-MOD:返回两个数的余数。

3.日期函数:-SYSDATE:返回当前日期和时间。

-TO_CHAR:将日期转换为特定的格式。

-TO_DATE:将字符串转换为日期。

-ADD_MONTHS:在给定的日期上添加指定的月份。

-MONTHS_BETWEEN:返回两个日期之间的月份数。

4.聚合函数:-SUM:计算指定列的总和。

-AVG:计算指定列的平均值。

-COUNT:计算指定列的行数。

-MAX:返回指定列的最大值。

-MIN:返回指定列的最小值。

5.条件函数:-NVL:用于将空值替换为指定的值。

-NULLIF:如果两个表达式相等,则返回空值;否则返回第一个表达式的值。

-COALESCE:返回第一个非空表达式的值。

-CASE:对满足条件的表达式进行分支处理。

6.集合函数:-UNION:将两个结果集合并成一个结果集。

-INTERSECT:返回两个结果集的交集。

-MINUS:返回第一个结果集中不在第二个结果集中的行。

7.窗口函数:-ROW_NUMBER:为查询结果中的每一行分配一个唯一的行号。

-RANK:根据指定的列对结果进行排序,并为相同值的行分配相同的排名。

-DENSE_RANK:根据指定的列对结果进行排序,并为相同值的行分配连续的排名。

8.系统函数:-USER:返回当前用户的名称。

-CURRENT_TIMESTAMP:返回当前的日期和时间。

-SYSTIMESTAMP:返回当前的日期和时间,包括时区信息。

oracle 数值比较函数

oracle 数值比较函数

oracle 数值比较函数Oracle数据库中的数值比较函数可以帮助我们方便地进行数值之间的比较,从而实现对数据的有效处理。

以下将介绍一些常用的Oracle数值比较函数及其应用实例。

1.Oracle数值比较函数概述在Oracle中,数值比较函数主要用于对两个数值进行比较,返回比较结果。

这些函数可以应用于WHERE子句、HAVING子句等,以便在查询过程中对数据进行筛选。

2.常用的Oracle数值比较函数- GREATEST(最大值):比较两个数值,返回较大值。

- LEAST(最小值):比较两个数值,返回较小值。

- ABS(绝对值):计算数值的绝对值。

- ROUND(四舍五入):对数值进行四舍五入处理。

- TRUNC(截断):截断数值的小数部分。

- MOD(取模):计算两个数值的余数。

3.函数实例及应用实例1:查询员工工资高于10000的记录```sqlSELECT * FROM employeeWHERE salary > 10000;```实例2:查询订单金额小于100元的记录```sqlSELECT * FROM orderWHERE amount < 100;```实例3:计算员工年龄的平方根```sqlSELECT sqrt(age) FROM employee;```4.注意事项在使用Oracle数值比较函数时,需要注意以下几点:- 确保比较的数值类型相同,否则可能导致比较结果错误。

- 结合实际情况选择合适的比较函数,以提高查询效率。

- 在使用比较函数时,注意查询性能,避免过度使用导致系统负载过高。

总之,Oracle数据库中的数值比较函数为我们提供了丰富的比较方式,能够满足各种场景的需求。

oracle sql常用函数

oracle sql常用函数

oracle sql常用函数Oracle SQL中有许多常用的函数,它们可以用于数据处理、计算和转换。

以下是一些常用的Oracle SQL函数:1. 字符串函数:`SUBSTR(str, start, length)`: 返回字符串str中从start位置开始的长度为length的子串。

`UPPER(str)`: 将字符串str转换为大写。

`LOWER(str)`: 将字符串str转换为小写。

`INSTR(str, substr)`: 返回子串substr在字符串str中第一次出现的位置。

2. 数值函数:`ROUND(num, decimal_places)`: 对num进行四舍五入,保留decimal_places位小数。

`TRUNC(num, decimal_places)`: 对num进行截断,保留decimal_places位小数。

`MOD(n, m)`: 返回n除以m的余数。

3. 日期函数:`SYSDATE`: 返回当前日期和时间。

`TO_CHAR(date, format)`: 将日期date按照指定的格式转换为字符串。

`MONTHS_BETWEEN(date1, date2)`: 返回date1和date2之间相差的月数。

4. 转换函数:`TO_NUMBER(str)`: 将字符串str转换为数值型。

`TO_DATE(str, format)`: 将字符串str按照指定的格式转换为日期型。

5. 聚合函数:`SUM(column)`: 计算指定列的总和。

`AVG(column)`: 计算指定列的平均值。

`COUNT(column)`: 计算指定列的行数。

6. 条件函数:`CASE WHEN condition THEN result1 ELSE result2 END`: 根据条件返回不同的结果。

以上列举的函数只是Oracle SQL中的一部分常用函数,还有许多其他函数可以根据具体的需求进行选择和应用。

oracle中常用函数

oracle中常用函数

oracle中常用函数
在Oracle数据库中,一些常用的函数有:
1. 函数用于文本处理:
- CONCAT: 用于合并两个字符串;
- SUBSTR: 用于截取字符串的一部分;
- REPLACE: 用于替换字符串中的部分内容;
- LOWER: 用于将字符串转换为小写;
- UPPER: 用于将字符串转换为大写;
- TRIM: 用于去除字符串两端的空格;
- INSTR: 用于查找一个字符串在另一个字符串中第一次出现的位置。

2. 函数用于数值计算:
- ABS: 用于返回一个数的绝对值;
- ROUND: 用于对一个数进行四舍五入;
- TRUNC: 用于截取一个数的小数部分;
- MOD: 用于求两个数的余数;
- POWER: 用于计算一个数的指定次幂;
- SQRT: 用于计算一个数的平方根。

3. 函数用于日期和时间处理:
- SYSDATE: 用于获取当前的日期和时间;
- TO_CHAR: 用于将一个日期或时间数据类型转换为字符串;
- TO_DATE: 用于将一个字符串转换为日期或时间数据类型;
- ADD_MONTHS: 用于给一个日期加上指定的月份;
- MONTHS_BETWEEN: 用于计算两个日期之间的月份差;
- EXTRACT: 用于从一个日期中提取指定的部分,如年、月、日等。

4. 其他常用函数:
- NVL: 用于将一个空值替换为指定的值;
- DECODE: 用于根据条件进行判断和处理;
- CASE: 用于实现多路条件判断。

以上是一些常见的Oracle数据库中的函数,它们可以用于各种数据处理和计算的需求。

oracle 函数的用法

oracle 函数的用法

oracle 函数的用法Oracle 是一个非常强大的数据库管理系统,它提供了丰富的函数库,可以让我们在SQL 语句中使用各种函数来实现数据处理、计算和查询。

本文将给大家介绍一些常用的Oracle 函数及其用法。

一、字符串函数1. UPPER 函数:将字符串转换为大写字母。

SELECT UPPER('hello world!') FROM DUAL;结果为:HELLO WORLD!结果为:hello world!3. INSTR 函数:查找子字符串在字符串中第一次出现的位置。

结果为:54. SUBSTR 函数:截取字符串的一部分。

5. REPLACE 函数:将字符串中的某个子串替换为另一个子串。

二、数值函数1. ROUND 函数:将指定的数字四舍五入到指定的小数位数。

3. ABS 函数:计算数字的绝对值。

4. SIGN 函数:返回数字的符号,如果为正数返回 1,为负数返回 -1,为零返回 0。

SELECT SIGN(-10), SIGN(10), SIGN(0) FROM DUAL;结果为:-1 1 05. POWER 函数:计算一个数的指定次幂。

三、日期函数1. SYSDATE 函数:返回当前系统日期和时间。

SELECT SYSDATE FROM DUAL;2. MONTHS_BETWEEN 函数:计算两个日期之间相差的月数。

SELECT MONTHS_BETWEEN('2022-01-01', '2021-01-01') FROM DUAL;3. ADD_MONTHS 函数:对指定日期增加指定的月数。

4. TRUNC 函数:截取日期到指定的精度,例如截取到月份。

5. TO_CHAR 函数:将日期类型转换为字符串类型。

SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') FROM DUAL;结果为:2021-08-01 14:00:00四、聚合函数1. COUNT 函数:计算查询结果集中的行数。

Oracle:trunc()函数简介

Oracle:trunc()函数简介

Oracle:trunc()函数简介⼀:功能描述 ⽤于截取时间或者数值,返回指定的值。

⼆:语法(1)⽇期处理: TRUNC(date,[fmt]) date 为必要参数,是输⼊的⼀个date⽇期值 fmt 参数可忽略,是⽇期格式,缺省时表⽰指定⽇期的0点。

(2)数值处理: TRUNC(number,[decimals]) number 为必要参数,是输⼊的⼀个number数值 decimals 参数可忽略,是要截取的位数,缺省时表⽰截掉⼩数点后边的值。

三:栗⼦(1)处理⽇期:--sysdate和trunc(sysdate)是不⼀样的 sysdate在当天的零时零分零秒等于trunc(sysdate)select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'),to_char(trunc(sysdate), 'yyyy-mm-dd hh24:mi:ss')from dual t;--年select trunc(sysdate, 'yy') "当年第⼀天" from dual;select trunc(sysdate, 'yyyy') "当年第⼀天" from dual;select trunc(sysdate, 'year') "当年第⼀天" from dual;--季度select trunc(sysdate, 'q') "当前季度的第⼀天" from dual;select trunc(add_months(sysdate,3), 'Q') -1/24 "这个季度最后⼀天23点" from dual;--⽉select trunc(sysdate, 'mm') "当⽉第⼀天" from dual;select trunc(sysdate, 'month') "当⽉第⼀天" from dual;select trunc(last_day(sysdate)+1) "下个⽉第⼀天的0点" from dual;--周select trunc(sysdate, 'd') "本周的第⼀天,周⽇起" from dual;select trunc(sysdate,'day') "本周的第⼀天,周⽇起" from dual;select next_day(TRUNC(SYSDATE ), 'TUESDAY' ) +12/24 "下个星期⼆中午12点" from dual;select TRUNC(LEAST(NEXT_DAY(SYSDATE, 'SATURDAY'), NEXT_DAY(SYSDATE, 'SUNDAY'))) +(6*60+10)/(24*60) "下个周六⽇早上6点10分" from dual; --天select trunc(sysdate+1) "今晚12点" from dual;select trunc(sysdate+1) + (8*60+30)/(24*60) "明天早上8点30分" from dual;--时select trunc(sysdate, 'hh')"当前⼩时" from dual;select trunc(sysdate, 'hh24') "当前⼩时" from dual;--分select trunc(sysdate, 'mi') "当前分钟" from dual;select trunc(sysdate,'mi') +10/ (24*60) "10分钟后的时间"from dual;--秒select sysdate +10/(24*60*60) "10秒钟后" from dual;--trunc没有精确到秒的精度(2)处理数值:--123.56,将⼩数点右边指定位数后⾯的截去;select trunc(123.567,2) from dual;--100,第⼆个参数可以为负数,表⽰将⼩数点左边指定位数后⾯的部分截去,即均以0记;select trunc(123.567,-2) from dual;--123,默认截去⼩数点后⾯的部分;select trunc(123.567) from dual;。

oracle数学函数

oracle数学函数

oracle数学函数Oracle数据库中提供了很多数学函数(Mathematical Functions),这些函数可以在查询语句中使用,以执行各种数学运算和计算。

1.绝对值函数(ABS)绝对值函数(ABS)用于返回一个给定数字的绝对值。

语法如下:ABS(x)其中x是一个数字表达式。

2.按指定精度向上舍入函数(CEIL)按指定精度向上舍入函数(CEIL)用于将一个数字向上舍入到指定的精度。

语法如下:CEIL(x)其中x是待舍入的数字,返回的结果是向上取整后的值。

3.合并两个数字的最小公共数函数(GREATESTCOMMONDIVISOR,GCD)合并两个数字的最小公共数函数(GCD)用于计算两个数字的最大公约数。

语法如下:GCD(x,y)其中x和y是待计算的数字表达式,返回的结果是两个数字的最大公约数。

4.按指定精度向下舍入函数(FLOOR)按指定精度向下舍入函数(FLOOR)用于将一个数字向下舍入到指定的精度。

语法如下:FLOOR(x)其中x是待舍入的数字,返回的结果是向下取整后的值。

5.指数函数(EXP)指数函数(EXP)用于计算一个数字的指数值。

语法如下:EXP(x)其中x是待计算的数字表达式,返回的结果是指定数字的指数值。

6.对数函数(LOG)对数函数(LOG)用于计算一个数字的对数值。

语法如下:LOG(x)其中x是待计算的数字表达式,返回的结果是指定数字的对数值。

7.幂函数(POWER)幂函数(POWER)用于计算一个数字的指数幂。

语法如下:POWER(x,n)其中x是待计算的数字表达式,n是指数的数量,返回的结果是x的n次幂。

8.四舍五入函数(ROUND)四舍五入函数(ROUND)用于将一个数字四舍五入到指定的小数位数。

语法如下:ROUND(x,d)其中x是待舍入的数字,d是要保留的小数位数,返回的结果是四舍五入后的值。

9.平方根函数(SQRT)平方根函数(SQRT)用于计算一个数字的平方根。

oracle数字函数(共22个)

oracle数字函数(共22个)

oracle数字函数dual是一个"伪表",可以用来测试函数和表达式。

1、Round:四舍五入Round(45.926,2)→45.93Round(45.923,0)保留整数位,结果是46。

Round(45.923,-1)取整数位的第二位。

就是取十位,结果是50。

Round(45.923,-2)取整数位的第三位。

就是取百位,结果为0。

2、Trunc:数字截断Trunc(45.926,2)→45.92语法: TRUNC(x[,y])功能: 计算截尾到y位小数的x值. y缺省为0,结果变为一个整数值.如果y是一个负数,那么就截尾到小数点左边对应的位上.说明:该函数可以指定截取的位数,当不指定截取位时,它只截取小数占左边的数字。

3、Mod:求余语法: MOD(x,y)功能: 返回x除以y的余数.如果y是0,则返回xMod(1600,300)→1004、ABS语法: ABS(x)功能: 得到x的绝对值.SQL> select abs(1) a,abs(0) b,abs(-1) c,abs(-0.1) d from dualA B C D---------- ---------- ---------- ----------1 0 1 .15、CEIL语法: CEIL(x)功能: 计算大于或等于x的最小整数值.SQL> select ceil(0.3) a,ceil(0.5) b,ceil(0.8) c,ceil(0) d from dualA B C D---------- ---------- ---------- ----------1 1 1 06、FLOOR语法: FLOOR(x)功能: 返回小于等于x的最大整数值.SQL> select floor(0.3) a,floor(0.5) b,floor(0.8) c,floor(0) d from dualA B C D---------- ---------- ---------- ------------------0 0 0 07、ACOS语法: ACOS(x)功能: 返回x的反余弦值. x应该从0到1之间的数,结果在0到pi之间,以弧度为单位.SQL> select cos(0.1667) a,acos(0.5) y,cosh(0.5) z from dualA Y Z---------- ---------- -------------------.986137701 1.04719755 1.127625978、ASIN语法: ASIN(x)功能: 计算x的反正弦值. X的范围应该是-1到1之间,返回的结果在-pi/2到pi/2之间,以弧度为单位. SQL> select sin(0.1667) x,asin(0.5) y,sinh(0.5) z from dualX Y Z---------- ---------- ------------------------.165929004 .523598776 .5210953059、ATAN语法: ATAN(x)功能: 计算x的反正切值.返回值在-pi/2到pi/2之间,单位是弧度.SQL> select tan(0.1667) x ,atan(0.5) y,atan2(1,2) z from dualX Y Z---------- ---------- --------------------.168261495 .463647609 .46364760910、ATAN2语法: ATAN2(x,y)功能: 计算x和y的反正切值.结果在负的pi/2到正的pi/2之间,单位是弧度.atan2(x,y)函数表示,返回x/y的反正切等价于atan(x/y)。

oracle数学函数

oracle数学函数

oracle数学函数Oracle数学函数是Oracle数据库中提供的一组函数,用于进行数学运算和处理数值数据。

这些函数可以用于计算、转换和处理数值,使得数据处理更加灵活和高效。

本文将介绍几个常用的Oracle数学函数,并详细说明其用法和功能。

1. ROUND函数ROUND函数用于对数值进行四舍五入。

它接受两个参数,第一个参数是要进行四舍五入的数值,第二个参数是要保留的小数位数。

例如,ROUND(3.14159, 2)将返回3.14,表示将3.14159四舍五入到小数点后两位。

2. TRUNC函数TRUNC函数用于截断数值,即将数值的小数部分截断掉。

它接受两个参数,第一个参数是要进行截断的数值,第二个参数是要保留的小数位数。

例如,TRUNC(3.14159, 2)将返回3.14,表示将3.14159截断到小数点后两位。

3. MOD函数MOD函数用于计算两个数的余数。

它接受两个参数,第一个参数是被除数,第二个参数是除数。

例如,MOD(10, 3)将返回1,表示10除以3的余数为1。

4. POWER函数POWER函数用于计算一个数的幂。

它接受两个参数,第一个参数是底数,第二个参数是指数。

例如,POWER(2, 3)将返回8,表示计算2的3次幂。

5. SQRT函数SQRT函数用于计算一个数的平方根。

它接受一个参数,即要计算平方根的数值。

例如,SQRT(9)将返回3,表示计算9的平方根。

6. ABS函数ABS函数用于计算一个数的绝对值。

它接受一个参数,即要计算绝对值的数值。

例如,ABS(-5)将返回5,表示计算-5的绝对值。

7. EXP函数EXP函数用于计算以自然对数为底的指数幂。

它接受一个参数,即要计算指数幂的数值。

例如,EXP(1)将返回2.71828,表示计算e 的1次幂。

8. LOG函数LOG函数用于计算一个数的自然对数。

它接受一个参数,即要计算自然对数的数值。

例如,LOG(10)将返回2.30259,表示计算以e 为底的对数。

oracle数学函数

oracle数学函数

oracle数学函数Oracle数据库提供了许多用于数学计算和数值操作的函数。

本文将介绍Oracle中的一些常用数学函数,包括四舍五入、取绝对值、取余数、求平方根、指数和对数等。

一、四舍五入函数1.ROUNDROUND函数用于四舍五入到指定的位数。

以下是ROUND函数的一些常见用法:ROUND(number):将number四舍五入到最近的整数。

ROUND(number, decimal_places):将number四舍五入到指定的小数位数。

2.TRUNCTRUNC函数用于截断小数部分并保留整数部分。

以下是TRUNC函数的一些常见用法:TRUNC(number):将number截断到最近的整数。

TRUNC(number, decimal_places):将number截断到指定的小数位数。

二、取绝对值函数1.ABSABS函数用于取一个数的绝对值。

ABS(number):返回number的绝对值。

三、取余数函数1.MODMOD函数用于取两个数的余数。

MOD(dividend, divisor):返回dividend除以divisor的余数。

四、求平方根函数1.SQRTSQRT函数用于计算一个数的平方根。

SQRT(number):返回number的平方根。

五、指数和对数函数1.EXPEXP函数用于计算指定数的指数值。

EXP(number):返回e的number次幂,其中e是自然对数的底数。

2.LNLN函数用于计算指定数的自然对数。

LN(number):返回number的自然对数。

3.POWERPOWER函数用于计算一个数的指定次幂。

POWER(base, exponent):返回base的exponent次幂。

以上就是Oracle中一些常用的数学函数。

这些函数可以帮助开发者进行数学计算和数值操作,提高数据处理的灵活性和准确性。

使用合适的数学函数可以减少开发工作量,增加程序的效率和可读性。

oracle数据库基础函数使用

oracle数据库基础函数使用

oracle数据库基础函数使用Oracle数据库是一种关系型数据库管理系统,提供了许多基础函数来处理和操作数据。

这些基础函数可以用于查询、过滤、计算和转换数据,以及执行其他常见的数据库操作。

下面将介绍一些常用的Oracle数据库基础函数及其使用方法。

1. 字符串函数:- CONCAT:用于连接两个字符串。

- SUBSTR:用于提取字符串的子串。

- LENGTH:用于计算字符串的长度。

- UPPER和LOWER:分别用于将字符串转换为大写和小写。

- REPLACE:用于替换字符串中的指定字符。

2. 数值函数:- ROUND:用于对数值进行四舍五入。

- TRUNC:用于截断数值的小数部分。

- MOD:用于计算两个数值的余数。

- ABS:用于计算数值的绝对值。

- POWER:用于计算数值的指数幂。

3. 日期函数:- SYSDATE:用于获取当前日期和时间。

- TO_CHAR:用于将日期转换为指定格式的字符串。

- TO_DATE:用于将字符串转换为日期。

- ADD_MONTHS:用于在日期上增加指定的月数。

- MONTHS_BETWEEN:用于计算两个日期之间的月数差。

4. 聚合函数:- SUM:用于计算指定列的总和。

- AVG:用于计算指定列的平均值。

- MAX和MIN:分别用于计算指定列的最大值和最小值。

- COUNT:用于计算指定列的行数。

5. 条件函数:- CASE:用于根据条件执行不同的操作。

- DECODE:用于根据条件返回不同的值。

除了上述基础函数外,Oracle数据库还提供了许多其他函数,如转换函数、类型转换函数、NULL函数等。

这些函数可以根据具体需求进行使用。

例如,假设有一个名为"employees"的表,其中包含员工的姓名、工资和入职日期等信息。

我们可以使用基础函数来查询和处理这些数据。

以下是一些示例:- 查询所有员工的姓名和工资:SELECT name, salary FROM employees;- 查询工资大于5000的员工的姓名和工资:SELECT name, salary FROM employees WHERE salary > 5000;- 查询入职日期在2019年之后的员工的姓名和入职日期:SELECT name, hire_date FROM employees WHERE hire_date >TO_DATE('2019-01-01', 'YYYY-MM-DD');- 计算所有员工的平均工资:SELECT AVG(salary) FROM employees;- 将所有员工的姓名转换为大写:SELECT UPPER(name) FROM employees;通过使用这些基础函数,我们可以更方便地对Oracle数据库中的数据进行操作和处理。

Oracle Trunc和ROUND区别

Oracle Trunc和ROUND区别

Oracle Trunc和ROUND区别1、关于trunc 和round函数比较整体概括:round函数四舍五入trunc函数直接截取对于时间:Round函数对日期进行“四舍五入”,Trunc函数对日期进行截取。

如果我们不指定格式的话,Round会返回一个最接近date参数的日期,而Trunc函数只会简单的截取时分秒部分,返回年月日部分对于数字:Round函数对数字同样进行“四舍五入”,Trunc函数截取时不进行四舍五入,可以指明保留小数点后面的位数。

2、Round、Trunc用法[sql] view plain copy /**************************Fordate****************************/ --Trunc函数SELECT TRUNC(SYSDATE), -- 今天的日期为2014-05-08 TRUNC(SYSDATE, 'YYYY'), --返回当年第一天2014-01-01 yyyy/yy/year 年TRUNC(SYSDATE, 'MM'), --返回当月第一天2014-05-01 mm/month 月TRUNC(SYSDATE, 'DD'), --返回当前年月日2014-05-08 d/day 周TRUNC(SYSDATE, 'D'), --(星期天)返回当前星期的第一天2014-05-04 TRUNC(SYSDATE, 'HH'), --返回当前时间精确小时2014-05-08 11:00:00TRUNC(SYSDATE, 'MI') -- 返回当前时间精确分钟2014-05-08 11:06:00 TRUNC()函数没有秒的精确FROM DUAL; --Round函数select Round(sysdate, 'Q') Rnd_Q, --2014-04-01 Round(sysdate, 'Month') Rnd_Month, --2014-05-01 Round(sysdate, 'WW') Rnd_Week, --2014-05-07 Round(sysdate, 'W') Rnd_Week_again, --2014-05-08 Round(sysdate, 'DDD') Rnd_day, --2014-05-08 Round(sysdate, 'DD') Rnd_day_again, --2014-05-08Round(sysdate, 'DAY') Rnd_day_of_week, --2014-05-11 Round(sysdate, 'D') Rnd_day_of_week_again,--2014-05-11 Round(sysdate, 'HH12')Rnd_hour_12, --2014-05-08 12:00:00Round(sysdate, 'HH24') Rnd_hour_24, --2014-05-0812:00:00 Round(sysdate, 'MI') Rnd_minute--2014-05-08 11:52:00 from dual;/****************************For number************************/ /** --TRUNC(number,num_digits)Number 需要截尾取整的数字。

oracle中函数trunc(),round(),ceil(),floor的使用详解

oracle中函数trunc(),round(),ceil(),floor的使用详解

oracle中函数trunc(),round(),ceil(),floor的使⽤详解1.round函数(四舍五⼊)描述 : 传回⼀个数值,该数值是按照指定的⼩数位元数进⾏四舍五⼊运算的结果参数:number : 欲处理之数值decimal_places : 四舍五⼊ , ⼩数取⼏位 ( 预设为 0 )select round(123.456, 0) from dual;返回123select round(123.456, 1) from dual; 返回123.5select round(-123.456, 2) from dual; 返回-123.462.ceil和floor函数ceil和floor函数在⼀些业务数据的时候,有时还是很有⽤的。

ceil(n) 取⼤于等于数值n的最⼩整数;floor(n)取⼩于等于数值n的最⼤整数select ceil(1.5) a from dual; 返回2select ceil(-1.5) a from dual; 返回-1select floor(1.5) a from dual; 返回1select floor(-1.5) a from dual; 返回-23.trunc函数 1)trunc函数处理数字 TRUNC(number[,decimals]) 其中: number 待做截取处理的数值 decimals 指明需保留⼩数点后⾯的位数。

可选项,忽略它则截去所有的⼩数部分。

trunc就是处理数字的显⽰位数,如果decimals为负数,就处理整数部分,处理完为0,-1就是各位为零,-2就到了⼗位,如果超过了整数部分长度,则整个数字0; 2)处理⽇期 trunc函数返回以指定元元素格式截去⼀部分的⽇期值。

其具体的语法格式如下: TRUNC(date,[fmt]) 其中: date为必要参数,是输⼊的⼀个⽇期值 fmt参数可忽略,是⽇期格式,⽤以指定的元素格式来截去输⼊的⽇期值。

Sybase数据库常用函数

Sybase数据库常用函数

Sybase数据库常⽤函数Sybase数据库常⽤函数⼀、字符串函数1,ISNULL(EXP1,EXP2,EXP3,...) :返回第⼀个⾮空值,⽤法与COALESCE(exp1,exp2[,exp3...])相同;2,TRIM(exp) :去除两边空格;3,DATEFORMAT(date_exp,date_format) :⽇期型转字符型;4,STRING(exp):转为字符型;5,SUBSTRING(exp,int-exp1,[int-exp2]):截取exp从int-exp1开始,截取int-exp2个字符;6,REPLACE(o-exp,search-exp,replace-exp):从o-exp搜索search-exp,替换为replace-exp;7,SPACE(int_exp):返回int个空格;8,UPPER(exp):转为⼤写字母,等价于UCASE(exp);9,LOWER(exp):转为⼩写字母;10,CHARINDEX(exp1,exp2):返回exp2字符串中exp1的位置!定位,exp1 查找的字符,exp2 被查找的字符串; 11,DATALENGTH(CHAR_EXPR):在char_expr中返回字符的长度值,忽略尾空;12,RIGHT(char_expr,int_expr):返回char_expr右边的int_expr个字符;13,LEFT(char_expr,int_expr):返回char_expr左边的int_expr个字符;14,REPLICATE(char_expr,int_expr):重复char_expr,int_expr次;15,STUFF(expr1,start,length,expr2):⽤expr2代替epxr1中start起始长为length的字符串;16,REVERSE(char_expr):反写char_expr中的⽂本;17,LTRIM(char_expr):删除头空;18,RTRIM(char_expr):删除尾空;19,STR(float_expr[,length[,decimal]]):进⾏数值型到字符型转换;20,PATINDEX("%pattern%",expression):返回指定样式的开始位置,否则为0;21,NULLIF(exp1,exp1):⽐较两个表达式,如果相等则返回null值,否则返回exp122,NUMBER(*):返回序号,相当于ORACLE的rowid,但有区别;⼆、数值函数1,CEIL(num-exp):返回⼤于或等于指定表达式的最⼩整数;兼容性:IQ&ASE;2,FLOOR(numeric_expr):返回⼩于或等于指定值的最⼤整数;3,ABS(num-exp):返回数值表达式的绝对值;兼容性:IQ&ASE;4,TRUNCNUM(1231.1251,2):截取数值;不四舍五⼊;5,ROUND(numeric_expr,int_expr):把数值表达式圆整到int_expr指定的精度;6,RAND([int_expr]):返回0-1之间的随机浮点数,可指定基值;7,SIGN(int_expr):返回正+1,零0或负-1;8,SQRT(float_expr):返回指定值的平⽅根;9,PI():返回常数3.1415926;10,POWER(numeric_expr,power):返回numeric_expr的值给power的幂;11,EXP(float_expr):给出指定值的指数值;三、⽇期函数1,DAY(date_exp):返回⽇期天值,DAYS(date_exp,int):返回⽇期date_exp加int后的⽇期;MONTH与MONTHS、YEAR与YEARS同理;2,DATE(exp):将表达式转换为⽇期,并删除任何⼩时、分钟或秒;兼容性:IQ3,DATEPART(date-part,date-exp): 返回⽇期分量的对应值(整数);4,GETDATE():返回系统时间;5,DATENAME(datepart,date_expr):以字符串形式返回date_expr指定部分的值,转换成合适的名字;6,DATEDIFF(datepart,date_expr1,date_expr2):返回date_expr2-date_expr1,通过指定的datepart度量;7,DATEADD(date-part,num-exp,date-exp):返回按指定date-part分量加num-exp值后⽣成的date-exp值;兼容性:IQ&ASE8,date-part⽇期分量代表值:缩写值YY 0001-9999QQ 1-4MM 1-12WK 1-54DD 1-31DY 1--366DW 1-7(周⽇-周六)HH 0-23MI 0-59SS 0-59MS 0-999四、转换函数1,CONVERT(datetype,exp[,format-style]):字符转⽇期型或DATE(exp);兼容性:IQ&ASEformat-style值输出:112 yyyymmdd120 yyyy-mm-dd hh:nn:ssSELECT CONVERT(date,'20101231',112),CONVERT(varchar(10),getdate(),120) ;--结果2010-12-312011-04-072,CAST(exp AS data-type):返回转换为提供的数据类型的表达式的值;兼容性:IQ⽇期函数五、其他函数1,RANK() OVER(PARTITION BY .. ORDER BY ..) 分组分析函数,相同的ORDER BY值,返回顺序值⼀样,且PARTITION BY 只⽀持⼀个字段或⼀个字段组(需多个字段分组的则要⽤ || 拼为⼀个字段(待确认))2,返回可读的全局ID UUIDTOSTR(NEWID())3,COL_LENGTH(tab_name,col_name):返回定义的列长度;兼容性:IQ&ASE4,LENGTH(exp):返回exp的长度;兼容性:IQ。

oracle中常用的函数

oracle中常用的函数

oracle中常用的函数Oracle是一种流行的关系型数据库管理系统,它提供了许多强大的函数来处理数据。

以下是Oracle中常用的函数:1. 字符串函数Oracle提供了许多字符串函数来处理文本数据。

其中一些常用的函数包括:- SUBSTR:用于提取字符串的一部分。

- INSTR:用于查找字符串中的子字符串。

- CONCAT:用于连接两个或多个字符串。

- REPLACE:用于替换字符串中的子字符串。

- UPPER和LOWER:用于将字符串转换为大写或小写。

2. 数值函数Oracle还提供了许多数值函数来处理数字数据。

其中一些常用的函数包括:- ROUND:用于将数字四舍五入到指定的小数位数。

- TRUNC:用于截断数字到指定的小数位数。

- MOD:用于计算两个数字的余数。

- ABS:用于计算数字的绝对值。

- SIGN:用于确定数字的符号。

3. 日期函数Oracle还提供了许多日期函数来处理日期和时间数据。

其中一些常用的函数包括:- SYSDATE:用于返回当前日期和时间。

- ADD_MONTHS:用于将指定的月数添加到日期中。

- MONTHS_BETWEEN:用于计算两个日期之间的月数。

- EXTRACT:用于提取日期中的特定部分,如年、月、日、小时、分钟等。

- TO_CHAR和TO_DATE:用于将日期和时间数据转换为字符串或从字符串转换为日期和时间数据。

4. 聚合函数Oracle还提供了许多聚合函数来计算数据的总和、平均值、最大值、最小值等。

其中一些常用的函数包括:- SUM:用于计算数值列的总和。

- AVG:用于计算数值列的平均值。

- MAX和MIN:用于查找数值列中的最大值和最小值。

- COUNT:用于计算行数或非空值的数量。

总结Oracle提供了许多强大的函数来处理数据。

这些函数可以帮助开发人员更轻松地处理和分析数据,从而提高应用程序的性能和可靠性。

熟练掌握这些函数可以使开发人员更加高效地编写SQL查询和存储过程。

Oracle 中的函数

Oracle 中的函数

Oracle 中的函数1.字符函数:1> UPPER(string)可以将字符转成大写2> LOWER(string) 将指定的字符串转换成小写3> INITCAP(string)将单词的第一个字母大写4> CONCAT(string1,String2)拼接字符串很明显没有“||”好使。

5> SUBSTR(string,start,length)截取字符串。

6> LENGTH(string) 计算字符的长度。

7>REPLACE(string,reg,word)对指定内容进行替换2.数值函数:1>ROUND( ) 对数字进行四舍五入。

说明:ROUND(number,[index])按指定位置对数字进行四舍五入运算Index为正:表示小数点右边的位置Index为负:表示小数点左边的位置2>TRUNC()对数字进行截取(与ROUND作用差不多,唯一区别是不进行四舍五入操作)说明:如果是截取小数点前面的部分,截取后补0。

3> MOD(number1,number2)求模(取余)运算说明:number1>number2时,运算结果为number1-number2;number1<number2时,运算结果为number1;4>CEIL(number)向上取整,运算结果为整数+1;5>FLOOR(number) 向下取整,运算结果为整数;说明:如果number的小数部分都为0,不论CEIL还是FLOOR ,运算结果都为整数。

3.日期函数:Oracle中关于日期加减操作的规律。

i.日期-数字=日期ii.日期+数字=日期iii.日期-日期=数字(天数)1> 获得当前时间用sysdate2>MONTHS_BETWEEN(date1,date2)求出指定日期范围的月数。

说明:MONTHS_BETWEEN(date1,date2)计算规则是:date1-date23>ADD_MONTHS(date,number) 在指定日期上加上相应的月数说明:ADD_MONTHS(date,number) 是在日期date上加上对应number个月date :表示日期number:表示需要加上月数4>NEXT_DAY(date,’星期几’)求下一个星期几的具体日期说明:查询的是date往后最接近的星期几的日期5>LAST_DAY(date ) 计算指定日期所在月的最后一天。

oracle的四舍五入函数

oracle的四舍五入函数

oracle的四舍五入函数Oracle的四舍五入函数在Oracle数据库中,四舍五入是一种常见的数值处理方法,用于将数值进行近似取整。

Oracle提供了多个函数来实现四舍五入操作,包括ROUND、TRUNC和CEIL等。

本文将重点介绍Oracle的四舍五入函数及其使用方法。

1. ROUND函数ROUND函数是Oracle中最常用的四舍五入函数之一。

它的语法如下:ROUND(number, decimal_places)其中,number是要进行四舍五入的数值,decimal_places是要保留的小数位数。

例如,假设有一个数值为 3.14159,我们想要将其保留两位小数并进行四舍五入,可以使用以下SQL语句:SELECT ROUND(3.14159, 2) FROM dual;运行结果为3.14,即将3.14159四舍五入到两位小数。

2. TRUNC函数TRUNC函数也可以用于进行四舍五入操作,但它与ROUND函数有所不同。

TRUNC函数的作用是截断数值,将其直接舍去到指定的小数位数。

其语法如下:TRUNC(number, decimal_places)与ROUND函数类似,number是要进行截断的数值,decimal_places 是要保留的小数位数。

例如,假设有一个数值为 3.14159,我们想要将其保留两位小数并进行四舍五入,可以使用以下SQL语句:SELECT TRUNC(3.14159, 2) FROM dual;运行结果为3.14,与ROUND函数相同。

3. CEIL函数CEIL函数用于向上取整,将小数向最接近的整数方向取整。

其语法如下:CEIL(number)number为要进行取整的数值。

例如,假设有一个数值为 3.14159,我们想将其向上取整,可以使用以下SQL语句:SELECT CEIL(3.14159) FROM dual;运行结果为4,即将3.14159向上取整到最近的整数。

oracle的四舍五入函数

oracle的四舍五入函数

oracle的四舍五入函数Oracle的四舍五入函数是一种常用的数值处理函数,它可以将指定的数值按照指定的精度进行四舍五入运算。

在数据库开发和数据分析中,四舍五入函数常常被用来处理浮点数或小数点位数较多的数值,以保证计算结果的准确性和可读性。

在Oracle数据库中,四舍五入函数有两种常用的形式:ROUND和TRUNC。

这两个函数的作用类似,但具体的处理方式略有不同。

我们来看一下ROUND函数。

ROUND函数的语法如下:ROUND(number, precision)其中,number表示需要进行四舍五入运算的数值,precision表示需要保留的小数点位数。

如果precision为正数,则表示保留小数点后的位数;如果precision为负数,则表示保留整数位数。

ROUND 函数的工作原理是:将number加上0.5,然后根据precision进行截断处理,得到最终的结果。

例如,假设有一个数值为 3.14159,我们想要将其保留2位小数,可以使用以下SQL语句:SELECT ROUND(3.14159, 2) FROM dual;执行结果为3.14,即将原始数值进行四舍五入,保留2位小数。

除了指定小数点位数,ROUND函数还可以用于处理整数位数。

例如,我们可以将一个数值保留到百位或千位等整数位数。

如果需要保留整数位数,只需将precision参数设置为负数即可。

接下来,我们来看一下TRUNC函数。

TRUNC函数的语法如下:TRUNC(number, precision)TRUNC函数的作用是将number按照指定的精度进行截断处理,得到一个截断后的数值。

与ROUND函数不同的是,TRUNC函数并不会进行四舍五入运算,而是直接截断小数部分。

例如,假设有一个数值为 3.14159,我们想要将其截断到整数位,可以使用以下SQL语句:SELECT TRUNC(3.14159, 0) FROM dual;执行结果为3,即将原始数值直接截断到整数位。

oracle的trunc、round函数详解sybase中功能相同的函数

oracle的trunc、round函数详解sybase中功能相同的函数

Oracle的TRUNC、ROUND函数,Sybase中功能相同的函数Oracle的TRUNC函数,Sybase中相同功能的函数CONVERT(Decimal(22,4),数值字段) Oracle,Trunc函数用法:Trunc的意思的截平(truncate),在oracle中用来根据指定的方式截断日期或数字,举例如下:1、截断日期时间:其具体的语法格式如下:TRUNC(date[,fmt])其中:date 一个日期值fmt 日期格式,该日期将由指定的元素格式所截去。

忽略它则由最近的日期截去举例,Sql代码:1.select to_char(trunc(sysdate,'dd'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual;2.时间3.-------------------4.2012-10-28 00:00:00select to_char(trunc(sysdate,'dd'),'yyyy-mm-dd hh24:mi:ss') 时间from dual;时间-------------------2012-10-28 00:00:00这里的dd可以是格式元素的任何一个如yyyy,mm,dd,hh24,mi,ss等。

结果是截断指定的元素之后的所有数据并显示出最接近的日期或时间。

多举几个例子来凑篇幅:按月份截断,则显示月份的第一天。

Sql代码:1.select to_char(trunc(sysdate,'mm'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual2.时间3.-------------------4.2008-08-01 00:00:00select to_char(trunc(sysdate,'mm'),'yyyy-mm-dd hh24:mi:ss') 时间from dual时间-------------------2012-10-01 00:00:00按分钟截断,则秒为0。

函数round和trunc

函数round和trunc

函数round和trunc1、round函数。

round函数能够按照数学规则进⾏四舍五⼊的进位,以保留⼩数点后要求的位数。

使⽤⽅法为round(<⼩数>,<保留的位数>)下⾯是两个例⼦:select round(1.23456,3) from dual;select round(1.23456,2) from dual;select round(12.26,-1) from dual;2、trunc函数trunc函数与round的功能相同,也能保留⼩数点后要去的位数,但是trunc不会按照数学规则仅为,只是单纯的截断使⽤⽅法为:trunc(<⼩数>,<保留的位数>)下⾯是⼏个例⼦:select trunc(1.23456,3) from dual;select trunc(1.23456,4) from dual;select trunc(123,-1) from dual;trunc除了可以阶段数字外,还可以截断⽇期:select trunc(sysdate) from dual 返回当天的⽇期精确到天select trunc(sysdate, 'mm') from dual 返回当⽉第⼀天.select trunc(sysdate,'dd') from dual 返回当前年⽉⽇select trunc(sysdate,'yyyy') from dual 返回当年第⼀天select trunc(sysdate,'d') from dual 返回当前星期的第⼀天select trunc(sysdate, 'hh') from dual 返回当前⼩时的0分钟select trunc(sysdate, 'mi') from dual 返回当前分钟的0秒SYS @nathondb>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';SYS @nathondb> select sysdate from dual;SYSDATE-------------------2019-01-22 23:24:31SYS @nathondb>select trunc(sysdate,'yyyy') from dual; TRUNC(SYSDATE,'YYYY)-------------------2019-01-01 00:00:00SYS @nathondb> select trunc(sysdate,'mm') from dual; TRUNC(SYSDATE,'MM')-------------------2019-01-01 00:00:00SYS @nathondb> select trunc(sysdate,'dd') from dual; TRUNC(SYSDATE,'DD')-------------------2019-01-22 00:00:00SYS @nathondb> select trunc(sysdate,'hh') from dual; TRUNC(SYSDATE,'HH')-------------------2019-01-22 23:00:00SYS @nathondb> select trunc(sysdate,'mi') from dual; TRUNC(SYSDATE,'MI')-------------------2019-01-22 23:21:00。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle的TRUNC、ROUND函数,Sybase中功能相同的函数
Oracle的TRUNC函数,Sybase中相同功能的函数CONVERT(Decimal(22,4),数值字段) Oracle,Trunc函数用法:
Trunc的意思的截平(truncate),在oracle中用来根据指定的方式截断日期或数字,
举例如下:
1、截断日期时间:
其具体的语法格式如下:TRUNC(date[,fmt])
其中:date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。

忽略它则由最近的日期截去举例,Sql代码:
1.select to_char(trunc(sysdate,'dd'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual;
2.时间
3.-------------------
4.2012-10-28 00:00:00
select to_char(trunc(sysdate,'dd'),'yyyy-mm-dd hh24:mi:ss') 时间from dual;
时间
-------------------
2012-10-28 00:00:00
这里的dd可以是格式元素的任何一个如yyyy,mm,dd,hh24,mi,ss等。

结果是截断指定的元素之后的所有数据并显示出最接近的日期或时间。

多举几个例子来凑篇幅:
按月份截断,则显示月份的第一天。

Sql代码:
1.select to_char(trunc(sysdate,'mm'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual
2.时间
3.-------------------
4.2008-08-01 00:00:00
select to_char(trunc(sysdate,'mm'),'yyyy-mm-dd hh24:mi:ss') 时间from dual
时间
-------------------
2012-10-01 00:00:00
按分钟截断,则秒为0。

Sql代码:
1.select to_char(trunc(sysdate,'mi'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual
2.时间
3.-------------------
4.2012-10-28 16:08:00
select to_char(trunc(sysdate,'mi'),'yyyy-mm-dd hh24:mi:ss') 时间from dual
时间
-------------------
2012-10-28 16:08:00
2、截断数字
格式如下:TRUNC(number[,decimals])
其中:number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。

可选项,忽略它则截去所有的小数部分。

如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。

需要注意的是,和round函数不同,对截断的数字并不四舍五入。

举例如下:
Sql代码:
1.select trunc(1234.4678,-1) from dual
2.TRUNC(1234.4678,-1)
3.-------------------
4. 1230
5.
6.select trunc(1234.4678,2) from dual
7.TRUNC(1234.4678,2)
8.------------------
9. 1234.46
Oracle,Round函数用法:
截取数字
格式如下:ROUND(number[,decimals])
其中:number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。

可选项,忽略它则截去所有的小数部分,并四舍五入。

如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。

需要注意的是,和trunc函数不同,对截取的数字要四舍五入。

举例如下:
Sql代码:
1.select round(1234.4678,-1) from dual
2.ROUND(1234.4678,-1)
3.-------------------
4. 1230
5.
6.select round (1234.4678,2) from dual
7.ROUND (1234.4678,2)
8.------------------
9. 1234.47
Sybase中与TRUNC、ROUND函数功能相同的函数-- Convert函数:
1、日期转换
convert(datetype[(length)],expression,format)
format指定将日期转换为什么格式,有以下值:
没有世纪有世纪转换字符串中日期格式
0 or 100 mon dd yyy hh:miAM(or PM)
1 101 mm/dd/yy
2 102 yy.mm.dd
3 103 dd/mm/yy
4 104 dd.mm.yy
5 105 dd-mm-yy
6 106 dd mon yy
7 107 mon dd,yy
8 108 hh:mm:ss
9 or 109 mon dd,yyyy hh:mi:ss:mmmAM(or PM)
10 110 mm-dd-yy
11 111 yy/mm/dd
12 112 yymmdd
2、截取数字
格式如下:CONVERT( Decimal(p,s),number)
其中:number 待做截取处理的数值
decimal(p,s) p (有效位数) s (小数位数) s表示小数点后面的位数,而p则表示整数加上小数总共的位数,对截取的数字四舍五入。

举例如下:
Sql代码:
1.select convert(decimal(22,4),1
2.3456789)
2.convert(decimal(22,4),12.3456789)
3.-------------------
4. 12.3457
5.。

相关文档
最新文档