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