函数---trunc,LEAST,COALESCE ,TRANSLATE,convert,REPLACE


select trunc(sysdate,'DD') AA,trunc(sysdate,'MM') BB,trunc(sysdate,'yyyy') CC,trunc(sysdate,'day')from dual;
得到的结果:
AA BB CC trunc(sysdate,'day')
2010-8-11 2010-8-1 2010-1-1 2010-8-8

AA列得到当天,bb列得到当月第一天,CC列得到当年第一天,trunc(sysdate,'day')列(在查询时没有定义列名)得到本周第一天

trunc(sysdate,'DD')就想成是精确到天,后面的初始化
trunc(sysdate,'MM')精确到月,后面的初始化

trunc(sysydate) 精确到日

What will the following statement return?

SELECT last_name, first_name, start_date
FROM employees
WHERE hire_date < TRUNC(SYSDATE) – 5;

返回被雇佣超过5天的员工

-----------------------

LEAST---返回最小值

SELECT LEAST(SYSDATE,'15-MAR-2002','17-JUN-2002') oldest
FROM dual;

OLDEST
-----------
27-NOV-2001

SELECT ename, sal, LEAST(sal, 3000) FROM emp;

ENAME SAL LEAST(SAL,3000)
---------- ---------- ---------------
SMITH 800 800
ALLEN 1600 1600
KING 5000 3000

-----------------------
COALESCE (expression_1, expression_2, ...,expression_n)
第一个非空的表达式是函数的返回值,如果所有的表达式都是空值,最终将返回一个空值。


----------------------

一、语法:
TRANSLATE(string,from_str,to_str)
TRANSLATE 是 REPLACE 所提供的功能的一个超集。

是一个字母一个字母对应,而且是全部替换

1. SELECT TRANSLATE('abcdefghij','abcdef','123456') FROM dual;
2. TRANSLATE (
3. --------------
4. 123456ghij
5.
6. SELECT TRANSLATE('abcdefghij','abcdefghij','123456') FROM dual;
7. TRANSL
8. ----------
9. 123456


select translate('abcbbaadef','ba','#@') from dual (b将被#替代,a将被@替代)

select translate('abcbbaadef','bad','#@') from dual (b将被#替代,a将被@替代,d对应的值是空值,将被移走)

因此:结果依次为:@#c##@@def 和@#c##@@ef


-------------------
convert
SQL> SELECT CONVERT('????????','WE8ISO8859P1','ZHS16GBK') AAA FROM DUAL;

把一种字符集转换成另外一种

-------------------------------
EXTRACT

SELECT SYSDATE
,EXTRACT(YEAR FROM SYSDATE ) YEAR
,EXTRACT(MONTH FROM SYSTIMESTAMP) MONTH
,EXTRACT(TIMEZONE_HOUR FROM SYSTIMESTAMP) TZH
FROM dual;
SYSDATE YEAR MONTH TZH
-------------------- ---------- ---------- ----------
24-SEP-2002 05:04:26 2002 9 -5

The valid components are YEAR, MONTH, DAY,
HOUR, MIN, SECOND, TIMEZONE_HOUR, TIMEZONE_MINUTE, TIMEZONE_REGION,
and TIMEZONE_ABBR.


---------------------------
REPLACE

SELECT REPLACE('uptown','up','down') FROM dual;
REPLACE(
--------
downtown


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值