oracle functions 函数大全(4)

2019-08-17 11:55

SQL> create table table1(xm varchar(8)); SQL> insert into table1 values('weather'); SQL> insert into table1 values('wether'); SQL> insert into table1 values('gao');

SQL> select xm from table1 where soundex(xm)=soundex('weather');

XM

-------- weather wether

SQRT

返回数字n的根

SQL> select sqrt(64),sqrt(10) from dual; SQRT(64) SQRT(10) --------- --------- 8 3.1622777

STDDEV

返回选者的列表项目的标准差,所谓标准差是方差的平方根

SUBSTR(string,start,count)

取子字符串,从start开始,取count个

SQL> select substr('13088888888',3,8) from dual; SUBSTR(' -------- 08888888

如果m是负数,则从尾部开始。

Sql>select substr('Morning',-3,2) from dual; SUBSTR('MORNING',-3,2) ---------------------- in

如果m是负数,超过字符串的最大长度,则返回null。

SUBSTRB

与SUBSTR大致相同,只是I,J是以字节计算。

SUM

SUM([{DISTINCT|ALL}])返回选择列表项目的数值的总和。

SYS_EXTRACT_UTC

Fmt:sys_extract_utc(datatimestamp_with_timezone):该函数用于返回特定时区时间所对应的格林威治时间。

SYSDATE

用来得到系统的当前日期时间

SQL> select to_char(sysdate,'dd-mm-yyyy day') from dual; TO_CHAR(SYSDATE,' ----------------- 09-05-2004 星期日

trunc(date,fmt)按照给出的要求将日期截断,如果fmt='mi'表示保留分,截断秒 SQL> select to_char(trunc(sysdate,'hh'),'yyyy.mm.dd hh24:mi:ss') hh, 2 to_char(trunc(sysdate,'mi'),'yyyy.mm.dd hh24:mi:ss') hhmm from dual;

HH HHMM

------------------- ------------------- 2004.05.09 11:00:00 2004.05.09 11:17:00

SYS_CONTEXT

Sys_context(‘context’,’attribute’)

该函数用于返回应用上下文的特定属性值,其中context为应用上下文名,而attribute则用于指定属性名。示例如下:

select

SYS_CONTEXT('USERENV','TERMINAL') terminal, SYS_CONTEXT('USERENV','LANGUAGE') language, SYS_CONTEXT('USERENV','SESSIONID') sessionid,

SYS_CONTEXT('USERENV','INSTANCE') instance, SYS_CONTEXT('USERENV','ENTRYID') entryid, SYS_CONTEXT('USERENV','ISDBA') isdba,

SYS_CONTEXT('USERENV','NLS_TERRITORY') nls_territory, SYS_CONTEXT('USERENV','NLS_CURRENCY') nls_currency, SYS_CONTEXT('USERENV','NLS_CALENDAR') nls_calendar, SYS_CONTEXT('USERENV','NLS_DATE_FORMAT') nls_date_format, SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE') nls_date_language, SYS_CONTEXT('USERENV','NLS_SORT') nls_sort,

SYS_CONTEXT('USERENV','CURRENT_USER') current_user, SYS_CONTEXT('USERENV','CURRENT_USERID') current_userid, SYS_CONTEXT('USERENV','SESSION_USER') session_user, SYS_CONTEXT('USERENV','SESSION_USERID') session_userid, SYS_CONTEXT('USERENV','PROXY_USER') proxy_user, SYS_CONTEXT('USERENV','PROXY_USERID') proxy_userid, SYS_CONTEXT('USERENV','DB_DOMAIN') db_domain, SYS_CONTEXT('USERENV','DB_NAME') db_name, SYS_CONTEXT('USERENV','HOST') host, SYS_CONTEXT('USERENV','OS_USER') os_user,

SYS_CONTEXT('USERENV','EXTERNAL_NAME') external_name, SYS_CONTEXT('USERENV','IP_ADDRESS') ip_address,

SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') network_protocol, SYS_CONTEXT('USERENV','BG_JOB_ID') bg_job_id, SYS_CONTEXT('USERENV','FG_JOB_ID') fg_job_id,

SYS_CONTEXT('USERENV','AUTHENTICATION_TYPE') authentication_type, SYS_CONTEXT('USERENV','AUTHENTICATION_DATA') authentication_data from dual

SYS_GUID SYSTIMESTAMP

该函数用于返回当前系统的日期时间及时区。

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 =\

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. 11. 12. 13.

为02

DD 当月第几天 Select to_char(sysdate,’DD’) from dual; 04 10月4日为第4天 D 周内第几天 Select to_char(sysdate,’D’) from dual; 5 2002年3月14日为星期一 DY 周内第几天缩写 Select to_char(sysdate,’DY’) from dual; SUN 2002年3月24日为

星期天,同DAY

HH或HH12 12进制小时数 Select to_char(sysdate,’HH’) from dual; 02 午夜2点过8分

14. 15. 16. 17. 18.

HH24 24小时制 Select to_char(sysdate,’HH24’) from dual; 14 下午2点08分为14 MI 分钟数(0~59) Select to_char(sysdate,’MI’) from dual; 17下午4点17分 SS 秒数(0~59) Select to_char(sysdate,’SS’) from dual; 22 11点3分22秒 AM (上午/下午)select to_char(sysdate,'am') from dual; 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’) 具体格式如下


oracle functions 函数大全(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:拜耳法生产氧化铝车间题库

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: