|
|
|
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-8AA列得到当天,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_dateFROM employeesWHERE hire_date < TRUNC(SYSDATE) – 5;返回被雇佣超过5天的员工-----------------------LEAST---返回最小值SELECT LEAST(SYSDATE,'15-MAR-2002','17-JUN-2002') oldestFROM dual;OLDEST-----------27-NOV-2001SELECT ename, sal, LEAST(sal, 3000) FROM emp;ENAME SAL LEAST(SAL,3000)---------- ---------- ---------------SMITH 800 800ALLEN 1600 1600KING 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-------------------convertSQL> SELECT CONVERT('????????','WE8ISO8859P1','ZHS16GBK') AAA FROM DUAL;把一种字符集转换成另外一种-------------------------------EXTRACTSELECT SYSDATE,EXTRACT(YEAR FROM SYSDATE ) YEAR,EXTRACT(MONTH FROM SYSTIMESTAMP) MONTH,EXTRACT(TIMEZONE_HOUR FROM SYSTIMESTAMP) TZHFROM dual;SYSDATE YEAR MONTH TZH-------------------- ---------- ---------- ----------24-SEP-2002 05:04:26 2002 9 -5The valid components are YEAR, MONTH, DAY,HOUR, MIN, SECOND, TIMEZONE_HOUR, TIMEZONE_MINUTE, TIMEZONE_REGION,and TIMEZONE_ABBR.---------------------------REPLACESELECT REPLACE('uptown','up','down') FROM dual;REPLACE(--------downtown |
|