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

合集下载

oracle常用函数使用大全Oracle除法(转)

oracle常用函数使用大全Oracle除法(转)

oracle常⽤函数使⽤⼤全Oracle除法(转)/chenmeng2192089/article/details/9155625⼀、运算符算术运算符:+ - * / 可以在select 语句中使⽤连接运算符:|| select deptno|| dname from dept;⽐较运算符:> >= = != < <= like between is null in逻辑运算符:not and or集合运算符: intersect ,union, union all, minus要求:对应集合的列数和数据类型相同查询中不能包含long 列列的标签是第⼀个集合的标签使⽤order by时,必须使⽤位置序号,不能使⽤列名例:集合运算符的使⽤:intersect ,union, union all, minusselect * from emp intersect select * from emp where deptno=10 ;select * from emp minus select * from emp where deptno=10;select * from emp where deptno=10 union select * from emp where deptno in (10,20); --不包括重复⾏select * from emp where deptno=10 union all select * from emp where deptno in (10,20); --包括重复⾏⼆.ORACLE⽇期时间函数⼤全TO_DATE格式(以时间:2007-11-02 13:45:25为例)Year:yy two digits 两位年显⽰值:07yyy three digits 三位年显⽰值:007yyyy four digits 四位年显⽰值:2007Month:mm number 两位⽉显⽰值:11mon abbreviated 字符集表⽰显⽰值:11⽉,若是英⽂版,显⽰novmonth spelled out 字符集表⽰显⽰值:11⽉,若是英⽂版,显⽰novemberDay:dd number 当⽉第⼏天显⽰值:02ddd number 当年第⼏天显⽰值:02dy abbreviated 当周第⼏天简写显⽰值:星期五,若是英⽂版,显⽰friday spelled out 当周第⼏天全写显⽰值:星期五,若是英⽂版,显⽰fridayddspth spelled out, ordinal twelfthHour:hh two digits 12⼩时进制显⽰值:01hh24 two digits 24⼩时进制显⽰值:13Minute:mi two digits 60进制显⽰值:45Second:ss two digits 60进制显⽰值:25其它Q digit 季度显⽰值:4WW digit 当年第⼏周显⽰值:44W digit 当⽉第⼏周显⽰值:124⼩时格式下时间范围为: 0:00:00 - 23:59:59....12⼩时格式下时间范围为: 1:00:00 - 12:59:59 ....1. ⽇期和字符转换函数⽤法(to_date,to_char)select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //⽇期转化为字符串select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的⽉select to_char(sysdate,'dd') as nowDay from dual; //获取时间的⽇select to_char(sysdate,'hh24') as nowHour from dual; //获取时间的时select to_char(sysdate,'mi') as nowMinute from dual; //获取时间的分select to_char(sysdate,'ss') as nowSecond from dual; //获取时间的秒select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual//2. select to_char( to_date(222,'J'),'Jsp') from dual显⽰Two Hundred Twenty-Two3.求某天是星期⼏select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;星期⼀select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;monday设置⽇期语⾔ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';也可以这样TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')4. 两个⽇期间的天数select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;5. 时间为null的⽤法select id, active_date from table1UNIONselect 1, TO_DATE(null) from dual;注意要⽤TO_DATE(null)6.⽉份差a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')那么12⽉31号中午12点之后和12⽉1号的12点之前是不包含在这个范围之内的。

03 Oracle-常用函数

03 Oracle-常用函数

Oracle-常用函数1.to_char:将时间或数字转为字符串to_char处理数字:TO_CHAR(number,'格式')TO_CHAR(salary,'$99,999.99')TO_CHAR(200,L99G999D99MI) --¥200.00(人民币羊角符号)to_char处理日期:TO_CHAR(date,'格式')TO_CHAR(date,'yyyy-mm-dd hh24:mi:ss')查询六月份出生的学生:SELECT sname,birthday FROM studentWHERE TO_CHAR(birthday,'mm') =62.TO_NUMBER:TO_NUMBER函数()是Oracle中常用的类型转换函数之一,主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反。

用法:To_number(varchar2 or char,’format model’)To_number函数中也有很多预定义的固定格式:格式值含义9 代表一个数字0 强迫0显示格式值含义$ 显示美元符号L 强制显示一个当地的货币符号. 显示一个小数点, 显示一个千位分隔符号SELECT TO_NUMBER('RMB46.3560','L99999.0000') FROM dual --46.356注意:有的时候,使用了TO_NUMBER()函数并且语法正确,但是Oracle却报“invalid number”的错误,而在一遍又一遍认认真真检查并确定语句无误之后大呼惊奇,以为TO_NUMBER()函数还有什么可能不知道的用法。

其实这很可能是你所查询的数据出现了问题,而非SQL。

使用TO_NUMBER()函数的时候,一定要确保所转换字段是可转换为数字的,比如字符串“20151008”是可以转换为数字20151008的,但是字符串“2015-10-08”不可以。

Oracle常用函数汇总

Oracle常用函数汇总

Oracle常⽤函数汇总在Oracle OCP考试中,相当⼀部分知识点涉及到对于Oracle常见函数的考查。

尽管Oracle官⽅⽂档中Functions⼀章内列举了所有Oracle⾃带函数,但如果要系统的看⼀遍,还是要花费相当的精⼒,更何况还是英⽂呢。

如果碰到⼀个不熟悉的,就查⼀下,不经常⽤,⼜很容易遗忘。

下⾯就对Oracle常见函数做个整理,⽅便以后查询。

⼀、⼤⼩写转换函数1. LOWER函数LOWER函数将字符以⼩写形式输出。

其语法为LOWER(char)。

例如:SQL> select lower(100+100),lower(sysdate),lower('HELLO') from dual;LOW LOWER(SYS LOWER--- --------- -----200 25-sep-14 hello注意:返回的均是字符类型,在执⾏LOWER函数之前先计算数据和⽇期表达式,并隐式转换为字符数据。

2. UPPER函数UPPER函数将字符以⼤写形式输出。

其语法为UPPER(char)。

例如:SQL> select upper('hello world') from dual;UPPER('HELL-----------HELLO WORLD3. INITCAP函数INITCAP函数将字符串中每个单词的第⼀个字母⼤写,⽽该单词的剩余字母⼩写。

例如:SQL> select initcap('hello WORLD! that is funny!') from dual;INITCAP('HELLOWORLD!THATISF---------------------------Hello World! That Is Funny!⼆、字符操作函数1. CONCAT函数CONCAT函数⽤于连接两个字符串。

有两个参数,语法为CONCAT(s1,s2)。

Oracle常用函数以及行列转换

Oracle常用函数以及行列转换

常用的函数数值函数➢ABS(N) 返回指定值的绝对值➢CEIL(N) 返回大于或等于给出数字的最小整数➢FLOOR(N) 对给定的数字取整数➢MOD(M,N) 返回一个M除以N的余数➢ROUND( M [,N] ) 按照指定的小数位元数进行四舍五入运算的结果参数:如果N不为整数则截取N整数部分,如果N>0则四舍五入为N位小数,如果N 小于0则四舍五入到小数点向左第N位。

➢TRUNC(M[,N]) 返回M按精度N截取后的值参数:如果N不为整数则截取N整数部分,如果N>0则截取到N位小数,如果N小于0则截取到小数点向左第N位,小数前其它数据用0表示。

转换函数➢TO_CHAR (NUMBER | date,'format')➢TO_NUMBER (char , 'format')➢TO_DATE (char, 'format')分组函数➢MAX➢AVG➢MIN➢COUNT ➢SUM字段为空的判断NULL的概述NULL在Oracle中是很特殊的值,任何类型的值都可以是NULL。

如果在某行中有一列没有值,那么就说慈航中这个列的值是NULL。

NULL是未知的东西,常称它为“UNKNOWN”或空值。

正因为它是未知的,才会有很多值得注意的规则。

NULL可以是任何数据类型的值,也可以不依赖于数据类型单独存在(字面量NULL),任何没有NOT NULL约束或主键约束的列都有可能出现NULL值。

NULL和其他任何值都不相等或相等,包括自身(当然是用IS NULL判断是可以的)。

但是在某些时候,Oracle却把他们当成相等的(指Oracle的一些内部规则),如SQL集合语句、Group by分组、Decode函数等。

NULL的判断和比较运算规则Oracle中判断一个列值或变量值是否是NULL,必须是用IS NULL或IS NOT NULL,而不能使用=NULL或<>NULL。

Oracle中的常用数值、转换、字符串函数

Oracle中的常用数值、转换、字符串函数

Oracle中的常用数值、转换、字符串函数Oracle中的常用数值、转换、字符串函数数值函数:abs(m) m的绝对值mod(m,n) m被n除后的余数power(m,n) m的n次方round(m[,n]) m四舍五入至小数点后n位的值(n缺省为0)trunc(m[,n]) m截断n位小数位的值(n缺省为0)字符函数:initcap(st) 返回st将每个单词的首字母大写,所有其他字母小写lower(st) 返回st将每个单词的字母全部小写upper(st) 返回st将每个单词的字母全部大写concat(st1,st2) 返回st为st2接st1的末尾(可用操作符"||")lpad(st1,n[,st2]) 返回右对齐的st,st为在st1的左边用st2填充直至长度为n,st2的缺省为空格rpad(st1,n[,st2]) 返回左对齐的st,st为在st1的右边用st2填充直至长度为n,st2的缺省为空格ltrim(st[,set]) 返回st,st为从左边删除set中字符直到第一个不是set中的字符。

缺省时,指的是空格rtrim(st[,set]) 返回st,st为从右边删除set中字符直到第一个不是set中的字符。

缺省时,指的是空格replace(st,search_st[,replace_st]) 将每次在st中出现的search_st用replace_st替换,返回一个st。

缺省时,删除search_st substr(st,m[,n]) n=返回st串的子串,从m位置开始,取n个字符长。

缺省时,一直返回到st末端length(st) 数值,返回st中的字符数instr(st1,st2[,m[,n]]) 数值,返回st1从第m字符开始,st2第n次出现的位置,m及n的缺省值为1日期函数:add_months(d,n) 日期d加n个月last_day(d) 包含d的月份的最后一天的日期month_between(d,e) 日期d与e之间的月份数,e先于dnew_time(d,a,b) a时区的日期和时间d在b时区的日期和时间next_day(d,day) 比日期d晚,由day指定的周几的日期sysdate 当前的系统日期和时间greatest(d1,d2,...dn) 给出的日期列表中最后的日期least(d1,k2,...dn) 给出的日期列表中最早的日期to_char(d [,fmt]) 日期d按fmt指定的格式转变成字符串to_date(st [,fmt]) 字符串st按fmt指定的格式转成日期值,若fmt忽略,st要用缺省格式round(d [,fmt]) 日期d按fmt指定格式舍入到最近的日期trunc(d [,fmt]) 日期d按fmt指定格式截断到最近的日期附:分组函数:avg([distinct/all] n) 列n的平均值count([all] *) 返回查询范围内的行数包括重复值和空值count([distinct/all] n) 非空值的行数max([distinct/all] n) 该列或表达式的最大值min([distinct/all] n) 该列或表达式的最小值stdev([distinct/all] n) 该列或表达式的标准偏差,忽略空值sum([distinct/all] n) 该列或表达式的总和variance([distinct/all] n) 该列或表达式的方差,忽略空值。

ORACLE常用函数功能演示

ORACLE常用函数功能演示

ORACLE常用函数功能演示文档撰写:孟祥新写在前面:ORACLE内置函数,相当于C语言中的库函数,提供了常规数据库编程中所需的绝大多数基本功能,并且通过函数的组合或嵌套使用,可以发挥其强大的功能。

由于这些内置函数都是由ORACLE公司的编程大家所写,而且其执行代码是内嵌在ORACLE数据库系统中的,因此其执行效率极高。

在数据库编程中能广泛使用ORACLE所提供的内置函数,将大大提高程序代码的执行效率。

“站在高人的肩膀上,将使你变得更高”。

演示之前的环境设置:为了在SQL*PLUS中直观地显示函数返回的结果,我将“头”信息先屏蔽掉。

操作如下:一、单行函数1.数值函数(1) 三角函数①SIN、ASIN、SINH(正弦、反正弦、双曲正弦)②COS、ACOS、COSH(余弦、反余弦、双曲余弦)③TAN、ATAN、TANH(正切、反正切,双曲正切)(2) 幂、方根及对数运算函数①POWER(m, n)(取m的n次幂)②SQRT(n)(取n的平方根)③EXP(n)(取自然对数底e的n次方根)④LN(n)(取n的自然对数)⑤LOG(m, n)(取以m为底n的对数)以上函数功能演示如下:(3) 数值处理函数①ABS(n)(取绝对值)②SIGN(n)(符号函数)③CEIL(n)(取不小于n的最小整数)④FLOOR(n)(取不大于n的最大整数)⑤ROUND(n, [m])(按m精度对n进行4舍5入)⑥TRUNC(n, [m])(按m精度对n进行截取)⑦MOD(m, n)(取m除以n的余数)以上函数功能演示如下:2.字符处理函数(1) 对字符串的大小写处理的函数①INITCAP(功能:将字符串中每个单词的首字母,变换为大写。

)②UPPER(功能:将字符串中的所有字母,转换为大写。

)③LOWER(功能:将字符串中的所有字母,转换为小写。

)以上函数功能演示如下:(2) 对字符串进行处理的函数①CONCAT(字符串连接函数,也可用 || 替代)功能演示如下:②ASCII(取字符的编码)③CHR(将编码转换为对应的字符)以上函数功能演示如下:④LTRIM(去除左侧空格/指定字符)⑤RTRIM(去除右侧空格/指定字符)⑥TRIM(去除两侧的空格/去除指定字符)以上函数去除空格功能演示如下:以上函数去除指定字符功能演示如下:请注意:在用TRIM去除字符串中指定字符(非空格)时的特殊用法。

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。

oraclems serversybase数据库对比语法及函数

oraclems serversybase数据库对比语法及函数

函数比较:数学函数:要点:1.由于各种数据库判断Null的方法不同,所以开发时对应DBMS分开处理。

DBMS支持SQL92规定的SQL函数coalesce()时,使用该方法。

但Oracle中使用nvl方法。

这些操作都封装在getNvlSqlString(String strColName, String strDefaultValue)中,用这个方法可得到相应数据库处理Null值的语句字符函数:要点:1.由于各种数据库判断Null的方法不同,所以开发时对应DBMS分开处理。

DBMS支持SQL92规定的SQL函数coalesce()时,使用该方法。

但Oracle中使用nvl方法。

这些操作都封装在getNvlSqlString(String strColName, String strDefaultValue)中,用这个方法可得到相应数据库处理Null值的语句2.注意oracle中取字符子串的方法名与其他数据库不一样日期函数:要点:1.由于各种数据库判断Null的方法不同,所以开发时对应DBMS分开处理。

DBMS支持SQL92规定的SQL函数coalesce()时,使用该方法。

但Oracle中使用nvl方法。

这些操作都封装在getNvlSqlString(String strColName, String strDefaultValue)中,用这个方法可得到相应数据库处理Null值的语句转换函数:要点:各种数据库中类型转换方法可通过PreparedStatement.setXXX()做成不依靠DBMS的处理.其他单行函数:统计函数:MS分开处理。

DBMS支持SQL92规定的SQL函数coalesce() etNvlSqlString(String strColName, String的语句XX()做成不依靠DBMS的处理.MS分开处理。

DBMS支持SQL92规定的SQL函数coalesce() etNvlSqlString(String strColName, String的语句MS分开处理。

oracle系统常用函数

oracle系统常用函数

1、数学函数
a、round(n,[m])四舍五入函数
b、trunc(n,[m])函数
c、 FLOOR() 向下取整与CEIL()向上取整
d、mod(n,m)取余函数
e、abs(n) 获取绝对值
2、字符串函数
a、ASCII(char)函数
b、chr(n)函数
c、LOWER() 函数
d、upper()函数
e、initcap()函数
f、substr(str,n,m)函数
对字符串进行截取操作 str表示要截取的字符串,n表示开始截取的位置,m
g、length(str)函数
h、replace(str,x,y)函数
i、组合使用以上函数
3、日期函数
a、sysdate使用SYSDATE函数可以获取当前的系统时间
b、months_between()
c、add_months()
d、last_day()
4、转换函数
a、to_date()
b、to_char()
c、to_number()
d、cast()
5、聚合函数
a、AVG()函数求平均值
b、min()函数求最小值
c、max()函数求最大值
d、sum()函数进行求和
e、count()函数
6、sys_context(conext_name,param)
是Oracle数据库中提供的一个获取环境上下文信息的系统函数(1)conext_name:环境信息名称,默认写为userenv。

(2)param:环境信息属性名,为固定可选参数。

函数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。

ORACLE常用的函数

ORACLE常用的函数

ORACLE常用函数ORACLE常用数值函数转换函数字符串函数介绍。

数值函数:abs(m)m的绝对值mod(m,n)m被n除后的余数power(m,n)m的n次方round(m[,n])m四舍五入至小数点后n位的值(n缺省为0)trunc(m[,n])m截断n位小数位的值(n缺省为0)--------------------------------------------------------------------------------字符函数:initcap(st)返回st将每个单词的首字母大写,所有其他字母小写lower(st)返回st将每个单词的字母全部小写upper(st)返回st将每个单词的字母全部大写concat(st1,st2)返回st为st2接st1的末尾(可用操作符"||")lpad(st1,n[,st2]) 返回右对齐的st,st为在st1的左边用st2填充直至长度为n,st2的缺省为空格rpad(st1,n[,st2]) 返回左对齐的st,st为在st1的右边用st2填充直至长度为n,st2的缺省为空格ltrim(st[,set]) 返回st,st为从左边删除set中字符直到第一个不是set中的字符。

缺省时,指的是空格rtrim(st[,set]) 返回st,st为从右边删除set中字符直到第一个不是set中的字符。

缺省时,指的是空格replace(st,search_st[,replace_st]) 将每次在st中出现的search_st用replace_st 替换,返回一个st。

缺省时,删除search_stsubstr(st,m[,n]) n=返回st串的子串,从m位置开始,取n个字符长。

缺省时,一直返回到st末端length(st) 数值,返回st中的字符数instr(st1,st2[,m[,n]]) 数值,返回st1从第m字符开始,st2第n次出现的位置,m 及n的缺省值为1例:1.select initcap('THOMAS'),initcap('thomas') from test;initca initca------ ------Thomas Thomas2.select concat('abc','def') "first" from test;first-----abcdef3.select 'abc'||' '||'def' "first" from test;first-----abc def4.select lpad(name,10),rpad(name,5,'*') from test;lpad(name,10) rpad(name,5,'*')------------ ----------------mmx mmx**abcdef abcde5.去掉地址字段末端的点及单词st和rdselect rtrim(address,'. st rd') from test6.select name,replace(name,'a','*') from test;name replace(name,'a','*')---- ---------------------great gre*t7.select substr('archibald bearisol',6,9) a,substr('archibald bearisol',11) b from test;a b------- -------bald bear bearisol8.select name,instr(name,' ') a,instr(name,' ',1,2) b from test;name a b------- -------- ---------li lei 3 0l i l 2 4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%转换函数:nvl(m,n)如果m值为null,返回n,否则返回mto_char(m[,fmt])m从一个数值转换为指定格式的字符串fmt缺省时,fmt值的宽度正好能容纳所有的有效数字to_number(st[,fmt])st从字符型数据转换成按指定格式的数值,缺省时数值格式串的大小正好为整个数附:to_char()函数的格式:---------------------------------符号说明---------------------------------9 每个9代表结果中的一位数字0 代表要显示的先导0$ 美元符号打印在数的左边L 任意的当地货币符号. 打印十进制的小数点, 打印代表千分位的逗号---------------------------------例:1.select to_number('123.45')+to_number('234.56') form test;to_number('123.45')+to_number('234.56')----------------------------------------358.012.select to_char(987654321) from test;to_char(987654321)------------------9876543213.select to_char(123,'$9,999,999') a,to_char(54321,'$9,999,999') b,to_char(987 4321,'$9,999,999') c from test;a b c------- ---------- -----------$123 $54,321 $9,874,3214.select to_char(1234.1234,'999,999.999') a,to_char(0.4567,'999,999.999') b,to _char(1.1,'999,999.999') from test;a b c--------- ---------- ------------1,234.123 .457 1.100--------------------------------------------------------------------------------分组函数:avg([distinct/all] n) 列n的平均值count([all] *) 返回查询范围内的行数包括重复值和空值count([distinct/all] n) 非空值的行数max([distinct/all] n) 该列或表达式的最大值min([distinct/all] n) 该列或表达式的最小值stdev([distinct/all] n) 该列或表达式的标准偏差,忽略空值sum([distinct/all] n) 该列或表达式的总和variance([distinct/all] n) 该列或表达式的方差,忽略空值--------------------------------------------------------------------------------日期函数:add_months(d,n) 日期d加n个月last_day(d) 包含d的月份的最后一天的日期month_between(d,e) 日期d与e之间的月份数,e先于dnew_time(d,a,b) a时区的日期和时间d在b时区的日期和时间next_day(d,day) 比日期d晚,由day指定的周几的日期sysdate 当前的系统日期和时间greatest(d1,d2,...dn) 给出的日期列表中最后的日期least(d1,k2,...dn) 给出的日期列表中最早的日期to_char(d [,fmt]) 日期d按fmt指定的格式转变成字符串to_date(st [,fmt]) 字符串st按fmt指定的格式转成日期值,若fmt忽略,st要用缺省格式round(d [,fmt]) 日期d按fmt指定格式舍入到最近的日期trunc(d [,fmt]) 日期d按fmt指定格式截断到最近的日期附:日期格式:--------------------------------格式代码说明举例或可取值的范围--------------------------------DD 该月某一天1-3DY 三个大写字母表示的周几SUN,...SATDAY 完整的周几,大写英文SUNDAY,...SATURDAYMM 月份1-12MON 三个大写字母表示的月份JAN,...DECMONTH 完整JANUARY,...DECEMBERRM 月份的罗马数字I, (XII)YY或YYYY 两位,四位数字年HH:MI:SS 时:分:秒HH12或HH24 以12小时或24小时显示MI 分SS 秒AM或PM 上下午指示符SP 后缀SP要求拼写出任何数值字段TH 后缀TH表示添加的数字是序数4th,1stFM 前缀对月或日或年值,禁止填充---------------------------------例:1.下一个周五的日期select next_day(sysdate,6) from test;2.两个月前的今天的日期select add_months(sysdate,-2) from test;Oracle常用函数列表速查PL/SQL单行函数和组函数详解函数是一种有零个或多个参数并且有一个返回值的程序。

Oracle 10g 常用SQL函数

Oracle 10g   常用SQL函数

Oracle 10g 常用SQL函数oracle10g-常用sql函数oracle常用函数数字函数abs()语法表明示例abs(x)回到x的绝对值。

acos()语法说明示例acos(x)返回x的反余弦值。

x应该是从-1到1之间的数,并且输出值从0到pi,以弧度为单位。

asin()语法表明示例asin(x)回到x的反正弦值。

x必须从-1至1之间的数,并且输入值从-pi/2至pi/2,以弧度为单位。

atan(x)语法说明示例atan(x)返回x的反正切值。

输出值是从-pi/2到pi/2,以弧度为单位。

atan2(x,y)语法表明atan2(x,y)回到x和y的反正切值。

输入值从-pi至pi,依赖于x和y的符号,以弧度为单位。

atan2(x,y)和atan(x/y)就是完全相同的。

示例ceil()语法ceil(x)说明示例返回大于或等于x的最小整数值。

cos()语法表明示例cos(x)回到x的余弦值。

x就是以弧度抒发的角度。

cosh()语法说明示例cosh(x)返回x的双曲余弦值。

x是以弧度表达的角度。

exp语法表明示例exp(x)回到e的x次幂。

e=2.71828183…floor()语法说明示例floor(x)返回小于或等于x的最大整数值。

ln()语法表明示例ln(x)回到x的自然对数值。

x必须大于0。

log()语法说明示例log(x,y)返回以x为底的y的对数。

x必须是不为0和1的正数,y可以是任意正数。

mod()语法表明示例mod(x,y)回到x除以y的余数。

如果y就是0,则回到x。

median语法说明median(column)median函数用于返回一个数据集合的中间值。

中间值的定义是,集合中大于它的元素数目与小于它的元素数目相同)median是通过对集合进行排序,然后选择中间元素的。

示例比如部门20中所有员工的工资集合为:sal----------800110029753000300060008000它们的中间值为:selectmedian(sal)fromempwheredeptno=20;median(sal)--------------------------------------3000power()语法说明power(x,y)返回x的y次幂。

oracle数学函数

oracle数学函数

oracle数学函数Oracle提供了许多数学函数,可以进行各种数值计算和操作。

这些函数可以用于简单的数学计算,例如加减乘除,以及更复杂的计算,例如三角函数、指数和对数等。

下面是一些常用的Oracle数学函数:-ABS(x):返回x的绝对值。

例如,ABS(-5)将返回5-CEIL(x):返回不小于x的最小整数。

例如,CEIL(3.2)将返回4-FLOOR(x):返回不大于x的最大整数。

例如,FLOOR(3.2)将返回3-ROUND(x,n):返回x的四舍五入的近似值,其中n是小数点后的位数。

例如,ROUND(3.248,2)将返回3.25-MOD(x,y):返回x除以y的余数。

例如,MOD(10,3)将返回1-POWER(x,y):返回x的y次方。

例如,POWER(2,3)将返回8-SQRT(x):返回x的平方根。

例如,SQRT(16)将返回4-EXP(x):返回e的x次方。

例如,EXP(2)将返回e的2次方的近似值。

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

例如,LN(10)将返回ln(10)的近似值。

-LOG(x,y):返回x以y为底的对数。

例如,LOG(100,10)将返回2-SIN(x):返回x的正弦值。

例如,SIN(0)将返回0。

-COS(x):返回x的余弦值。

例如,COS(0)将返回1-TAN(x):返回x的正切值。

例如,TAN(0)将返回0。

-ASIN(x):返回x的反正弦值。

例如,ASIN(0)将返回0。

-ACOS(x):返回x的反余弦值。

例如,ACOS(1)将返回0。

-ATAN(x):返回x的反正切值。

例如,ATAN(0)将返回0。

-DEGREES(x):将x从弧度转换为度。

例如,DEGREES(3.14)将返回180。

除了上述函数,Oracle还提供了其他许多数学函数,例如COSH、SINH、TANH、ATAN2等。

这些函数可以在数值计算、数据分析和数学研究等各种场景中使用。

在使用这些函数时,需要注意输入参数的数据类型。

oracle函数

oracle函数

函数SQL函数是oracle的内置函数,它可以在各种SQL语句中使用。

我们可以使用哑表dual,哑表包含一个字段和一行记录,可以用来取得函数的返回值。

oracle内置函数可以进行:数学计算、字符串拆分、数据类型转换、统计分析一、Oracle内置函数分类(一)单行函数输入一行输出一行的函数(二)多行函数输入多行输出一行的函数常用的函数:数字函数、字符函数、日期时间函数、转换函数、其他函数二、数字函数各种数学函数ORACLE都可以计算如:ABS(N)可以求绝对值。

三角函数SIN COS TAN ASIN ACOS ATAN 。

自然函数EXP LN LOG 。

开方SQRT。

常用的数字函数有:(一)Round (n[,m])取四舍五入结果,当m省略的时候四舍五入到整数位如:Round(34.916,2)=34.92Round(34.916)=35(二)Trunc (n[,m])截断数字,当m省略的时候直接取到整数位如:Trunc(34.916,2)=34.91Trunc(34.916)=34(三) MOD (m,n)取余数,n=0返回结果为m如:Mod(1600,300)=100Mod(1600,0)=1600三、字符函数(一)concat(str1,str2)连接两个字符串如:注意:跟“||”用法类似(二)length(str1)计算字符串的长度如:(三)Substr(str1,m[,n])截取指定长度的字符串。

m:开始长度n:截取的字符串长度,如果为空,默认截取到字符串结尾。

如:(四)Lpad(str1,n,str2)左端填充字符串,返回指定长度为n的字符串如:(五)Rpad(str1,n,str2)右端填充字符串,返回指定长度为n的字符串如:(六)INSTR(str1,str2[,n1[,n2]])返回str2在str1中位置其中str1:原字符串;str2:要寻找的字符串;n1:查询起始位置,正值表示从左到右,负值表示从右到左,省略不写,默认为1,n2:第几个匹配项,省略不写,默认为1如:四、日期函数Oracle 数据库用内部数字格式存储日期:世纪,年,月,日,小时,分钟和秒默认日期显示格式是DD-MON-RR。

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参数可忽略,是⽇期格式,⽤以指定的元素格式来截去输⼊的⽇期值。

ORACLE常用数值函数、转换函数、字符串函数

ORACLE常用数值函数、转换函数、字符串函数

ORACLE常⽤数值函数、转换函数、字符串函数本⽂更多将会介绍三思在⽇常中经常会⽤到的,或者虽然很少⽤到,但是感觉挺有意思的⼀些函数。

分⼆类介绍,分别是: 著名函数篇 -经常⽤到的函数 ⾮著名函数篇-即虽然很少⽤到,但某些情况下却很实⽤注:N表⽰数字型,C表⽰字符型,D表⽰⽇期型,[]表⽰内中参数可被忽略,fmt表⽰格式。

单值函数在查询中返回单个值,可被应⽤到select,where⼦句,start with以及connect by ⼦句和having⼦句。

(⼀).数值型函数(Number Functions)数值型函数输⼊数字型参数并返回数值型的值。

多数该类函数的返回值⽀持38位⼩数点,诸如:COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, and TANH ⽀持36位⼩数点。

ACOS, ASIN, ATAN, and ATAN2⽀持30位⼩数点。

1、MOD(n1,n2) 返回n1除n2的余数,如果n2=0则返回n1的值。

例如:SELECT MOD(24,5) FROM DUAL;2、ROUND(n1[,n2]) 返回四舍五⼊⼩数点右边n2位后n1的值,n2缺省值为0,如果n2为负数就舍⼊到⼩数点左边相应的位上(虽然oracle documents上提到n2的值必须为整数,事实上执⾏时此处的判断并不严谨,即使n2为⾮整数,它也会⾃动将n2取整后做处理,但是我⽂档中其它提到必须为整的地⽅需要特别注意,如果不为整执⾏时会报错的)。

例如:SELECT ROUND(23.56),ROUND(23.56,1),ROUND(23.56,-1) FROM DUAL;3、TRUNC(n1[,n2] 返回截尾到n2位⼩数的n1的值,n2缺省设置为0,当n2为缺省设置时会将n1截尾为整数,如果n2为负值,就截尾在⼩数点左边相应的位上。

例如:SELECT TRUNC(23.56),TRUNC(23.56,1),TRUNC(23.56,-1) FROM DUAL;(⼆).字符型函数返回字符值(Character Functions Returning Character Values) 该类函数返回与输⼊类型相同的类型。

sybase round函数 -回复

sybase round函数 -回复

sybase round函数-回复用户询问的是关于Sybase数据库中的ROUND函数的知识。

ROUND函数是用于对给定数值进行四舍五入操作的函数。

在本文中,我们将步骤逐一讨论ROUND函数的使用及其相关方面。

首先,我们需要了解ROUND函数的基本语法和参数。

在Sybase数据库中,ROUND函数的语法如下:ROUND(number, [decimal_places])其中,number是要进行四舍五入操作的数值,而decimal_places是保留的小数位数。

接下来,我们将逐步详细解释这些步骤,以便更好地理解ROUND函数的用法。

第一步:了解ROUND函数的基本功能ROUND函数是一个用于数值操作的内置函数。

它可将一个给定的数值四舍五入到指定的小数位数上。

例如,如果我们有一个数值为2.34567,并且要将其保留到小数点后两位,则可以使用ROUND函数将其四舍五入为第二步:理解ROUND函数的参数ROUND函数有两个参数。

第一个参数是需要进行四舍五入操作的数值,它可以是一个具体的数值,也可以是一个表达式。

第二个参数是可选的,它表示要保留的小数位数。

如果省略第二个参数,则默认将数值四舍五入到整数。

第三步:使用ROUND函数进行四舍五入操作要使用ROUND函数进行四舍五入操作,我们需要按照以下步骤来进行:1. 输入ROUND函数的语法,例如:ROUND(number, [decimal_places])。

2. 在函数的第一个参数中,指定需要进行四舍五入操作的数值。

这可以是一个具体的数值,也可以是一个表达式。

3. 在函数的第二个参数中,指定要保留的小数位数。

这个参数是可选的,如果不指定,则默认将数值四舍五入到整数。

4. 执行SQL查询语句,以调用ROUND函数并进行四舍五入操作。

第四步:观察ROUND函数的返回结果一旦我们执行了带有ROUND函数的SQL查询语句,该函数将返回四舍五入后的结果。

我们可以使用SELECT语句来查看结果。

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数据库中,四舍五入函数有两种常用的形式: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函数

Oracle函数

Oracle查询语句函数1.字符函数(1)CONCAT函数这个函数的参数是两个字符串,计算的结果是将两个字符串连接在一起,生成一个新的字符串。

例如,concat(‘Hello,’,‘World’)的结果为Hello, World。

(2)CHR与ASCII函数CHR函数的参数是一个正整数,它将这个正整数作为ASCII码,返回对应的字母。

例如chr(65)的结果为A。

ASCII函数的作用正好相反,它以一个字符为参数,返回这个字符对应的ASCII码。

例如ASCII(‘A’)的结果为65。

(3)INSTR函数这个函数在一个字符串中查找另一个字符串,如果找到,则返回出现的位置,否则返回0,位置的编号从1开始。

这个函数的语法格式为:instr(字符串,子字符串,start, occurrence)(4)LENGTH函数这个函数的作用是求得一个字符串的长度。

例如length(‘Hello’)的结果为5。

(5)LOWER和UPPER函数。

这两个函数的作用是进行字符串的大小写转换,它们的参数都是一个字符串。

其中LOWER函数将字符串中的字母转换为对应的小写字母,UPPER函数将字符串中的字母转换为对应的大写字母。

例如,函数lower(‘Hello’)的结果为hello,而函数upper(‘Hello’)的结果为HELLO。

(6)LPAD与RPAD函数这两个函数的作用是在字符串中填充指定的字符,使字符串达到指定的长度。

LPAD函数从左边填充,RPAD函数从右边填充,处理的结果是得到一个新的字符串。

这两个函数的语法格式为:LPAD(字符串,长度,填充字符)RPAD(字符串,长度,填充字符)(7)LTRIM、RTRIM函数和TRIM函数这三个函数的作用是去掉字符串左边或右边连续的空格,并得到一个新的字符串。

例如,函数ltrim(‘Hello’)的结果为Hello, rtrim(‘Hello’)的结果为Hello。

TRIM函数的作用是同时去掉字符串左边和右边的连续空格,它相当于对字符串先执行LTRIM函数,再执行RTRIM函数,或者先执行RTRIM函数,再执行LTRIM函数。

相关主题
  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.。

相关文档
最新文档