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