ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle函数大全连载(四)T

oracle函数大全连载(四)T

原创 Linux操作系统 作者:流浪天际 时间:2011-06-11 15:52:46 0 删除 编辑

TAN

返回数字的正切值
SQL> select tan(20),tan(10) from dual;
 

  TAN(20)   TAN(10)
--------- ---------
2.2371609 .64836083
 

TANH

返回数字n的双曲正切值,n为弧度
SQL> select tanh(20),tan(20) from dual;
 

 TANH(20)   TAN(20)
--------- ---------
        1 2.2371609
 

TO_CHAR(date,'format')

x是一个datenumber数据类型,函数将x转换成fmt指定格式的char数据类型, 

如果x为日期nlsparm=NLS_DATE_LANGUAGE 控制返回的月份和日份所使用的语言。 

如果x为数字nlsparm=NLS_NUMERIC_CHARACTERS 用来指定小数位和千分位的分隔符,以及货币符号。
NLS_NUMERIC_CHARACTERS ="dg", NLS_CURRENCY="string"
 

SQL> select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual; 

TO_CHAR(SYSDATE,'YY
-------------------
2004/05/09 21:14:41

特殊格式的日期型数据 

7-10 常用日期数据格式 

格式返回值样例显示 

1.   YYYYYY 年的最后一位,两位或三位 Select to_char(sysdate,’YYY’) from dual 002表示2002 

2.  SYEARYEAR SYEAR使公元前的年份前加一负号 Select to_char(sysdate,’SYEAR’) from dual -1112表示公元前111 2 

3.  季度,13月为第一季度 Select to_char(sysdate,’Q’) from dual 2表示第二季度 

4.  MM 月份数 Select to_char(sysdate,’MM’) from dual 12表示12 

5.  RM 月份的罗马表示 Select to_char(sysdate,’RM’) from dual IV表示4 

6.  Month 9个字符长度表示的月份名 Select to_char(sysdate,’Month’) from dual 12 

7.  WW 当年第几周 Select to_char(sysdate,’WW’) from dual 24表示2002613日为第24 

8.  本月第几周 Select to_char(sysdate,’W’) from dual 2002年10月1为第1 

9.  DDD 当年第几, 1月1为00121日为032 Select to_char(sysdate,’DDD’) from dual 363 20021 22 9日为第363 

10.              DD 当月第几天 Select to_char(sysdate,’DD’) from dual 04 10月4为第4 

11.              周内第几天 Select to_char(sysdate,’D’) from dual 5 2002年3月14为星期一 

12.              DY 周内第几天缩写 Select to_char(sysdate,’DY’) from dual SUN 2002年3月24为星期天,同DAY 

13.              HHHH12 12进制小时数 Select to_char(sysdate,’HH’) from dual 02 午夜2点过8分为02 

14.              HH24 24小时制 Select to_char(sysdate,’HH24’) from dual 14 下午208分为14 

15.              MI 分钟数(059) Select to_char(sysdate,’MI’) from dual 17下午417 

16.              SS 秒数(059) Select to_char(sysdate,’SS’) from dual 22 11322 

17.              AM (上午/下午)select to_char(sysdate,'am') from dual; 

18.              Year select to_char(sysdate, 'year') from dual; 

常用的数字格式: 

SQL>Select to_char(34534523.2222,'99999999.9$') from dual;

$34534523.2

select to_char(0.7,'990.99') from dual

四舍五入 

TO_CHAR(date,’fmt’)fm前缀用来去除首尾的空字符或0

TO_CHAR(total,’fm$999999’)
      
如果想转成$0.25,那就要写成fm$9999990.99
 
可以把日期转换成字符 

TO_CHAR(log_time,’MM/YY’)
   TO_CHAR(lot_time,’fmdd’’of;’’mm yyyy’)
   
具体格式如下 

   HH24:MI:SS AM-----------15:24:32 pm
   DD’’of’’MONTH-----------12 of MAY
   Ddspth------------------------fourteenth
   Ddsp--------------------------fourteen
   ddth---------------------------4th
   YYYY----------------------
-1978
    MM-----------------------------12
    MONTH-------------------------MAY

TO_DATE(string,'format')

将字符串转化为ORACLE中的一个日期

TO_LOB

TO_MULTI_BYTE

将字符串中的单字节字符转化为多字节字符
SQL>  select to_multi_byte('
') from dual; 

TO
--
 

TO_NUMBER

将给出的字符转换为数字
SQL> select to_number('1999') year from dual;
 

     YEAR
---------
     1999

TO_SINGLE_BYTE

将字符串c中的多字节字符转化成等价的单字节字符。该函数仅当数据库字符集同时包含单字节和多字节字符时才使用

TO_TIMESTAMP

To_timestamp(char[fmt[,’nls_param’]]):该函数用于将符合特定日期和时间格式的字符串转变为timestamp类型。

TO_TIMESTAMP_TZ

Fmtto_timestamp_tz(char[fmt[,’nls_param’]]):该函数是oracle9i新增加的函数,用于将符合特定日期和时间格式的字符串转变为timestamp with time zone类型。

TO_YMINTERVAL

FMTto_yminternal(char)该函数用于将字符串转变为internal year to month类型。

Select sysdate+to_yminterval(‘0-1’) from dual

TRANSLATE(x,y,z)

X,y,z都可以为数字串或字符串。 

c1中与c2相同的字符以c3代替
select TRANSLATE(''fumble'',''uf'',''ar'') test from dualTEXTramble

TRIM(keyword 's' from 'string')

LEADING   剪掉前面的字符
TRAILING  
剪掉后面的字符
如果不指定,默认为空格符 

TRUNC

按照指定的精度进行舍入
按照指定的精度截取一个数
SQL> select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual;
 

   TRUNC1 TRUNC(124.16666,2)
--------- ------------------
      100             124.16

SQL> select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual; 

ROUND(55.5) ROUND(-55.4) TRUNC(55.5) TRUNC(-55.5)
----------- ------------ ----------- ------------
         56          -55          55          -55

也可以截取日期 

SQL>select trunc(sysdate,'mi') from dual;

12/08/2004 10:55:00

TZ_OFFSET

Fmttz_offset(time_zone_name||sessiontimezone||dbtimezone):该函数是oracle9i新增加的函数,用于返回特定时区与utc(格林威治)相比的时区偏移。示例如下:

Sql>select tz_offset('est') from dual;

-05:00

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17032106/viewspace-697670/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-12-27

  • 博文量
    39
  • 访问量
    86701