oracle数据库函数手册,oracle函数大全连载(四)T

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是一个date或number数据类型,函数将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.Y或YY或YYY年的最后一位,两位或三位Select to_char(sysdate,’YYY’) from dual;002表示2002年

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

3.Q季度,1~3月为第一季度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表示2002年6月13日为第24周

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

9.DDD当年第几, 1月1日为001,2月1日为032 Select to_char(sysdate,’DDD’) from dual;363 2002年1 2月2 9日为第363天

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

11.D周内第几天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.HH或HH12 12进制小时数Select to_char(sysdate,’HH’) from dual;02午夜2点过8分为02

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

15.MI分钟数(0~59) Select to_char(sysdate,’MI’) from dual;17下午4点17分

16.SS秒数(0~59) Select to_char(sysdate,’SS’) from dual;22 11点3分22秒

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 pmDD’’of’’MONTH-----------12 of MAYDdspth------------------------fourteenthDdsp--------------------------fourteenddth---------------------------4thYYYY-----------------------1978MM-----------------------------12MONTH-------------------------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

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

TO_YMINTERVAL

FMT:to_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

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

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

-05:00

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值