OCP-1Z0-051 第91题 TO_DATE转换函数
2014-05-09 10:06
381 查看
一、原题
View the Exhibit and examine the structure of the PROMOTIONS table.
Which two SQL statements would execute successfully? (Choose two.)
A. UPDATE promotions
SET promo_cost = promo_cost+ 100
WHERE TO_CHAR(promo_end_date, 'yyyy') > '2000';
B. SELECT promo_begin_date
FROM promotions
WHERE TO_CHAR(promo_begin_date,'mon dd yy')='jul 01 98';
C. UPDATE promotions
SET promo_cost = promo_cost+ 100
WHERE promo_end_date > TO_DATE(SUBSTR('01-JAN-2000',8));
D. SELECT TO_CHAR(promo_begin_date,'dd/month')
FROM promotions
WHERE promo_begin_date IN (TO_DATE('JUN 01 98'), TO_DATE('JUL 01 98'));
答案:AB
二、题目翻译
下面是PROMOTIONS表的结构
哪两个SQL语句能执行成功?(选择两个)
三、题目解析
C选项不正确,SUBSTR的结果是字符串'2000',TO_DATE需要第二个参数,日期格式,这里使用YYYY格式符才能转换。
D选项不正确,TO_DATE函数,不写第二个参数,是转成默认日期格式,但这里的字符串显然不是默认日期格式,这样写是无法进行转换的,需要指定日期格式。
SQL> select TO_DATE('JUN 01 98') from dual;
select TO_DATE('JUN 01 98') from dual
*
ERROR at line 1:
ORA-01858: a non-numeric character was found where a numeric was expected
SQL> select TO_DATE('JUN 01 98','mm-dd-yyyy') from dual;
TO_DATE('JUN
------------
01-JUN-98
View the Exhibit and examine the structure of the PROMOTIONS table.
Which two SQL statements would execute successfully? (Choose two.)
A. UPDATE promotions
SET promo_cost = promo_cost+ 100
WHERE TO_CHAR(promo_end_date, 'yyyy') > '2000';
B. SELECT promo_begin_date
FROM promotions
WHERE TO_CHAR(promo_begin_date,'mon dd yy')='jul 01 98';
C. UPDATE promotions
SET promo_cost = promo_cost+ 100
WHERE promo_end_date > TO_DATE(SUBSTR('01-JAN-2000',8));
D. SELECT TO_CHAR(promo_begin_date,'dd/month')
FROM promotions
WHERE promo_begin_date IN (TO_DATE('JUN 01 98'), TO_DATE('JUL 01 98'));
答案:AB
二、题目翻译
下面是PROMOTIONS表的结构
哪两个SQL语句能执行成功?(选择两个)
三、题目解析
C选项不正确,SUBSTR的结果是字符串'2000',TO_DATE需要第二个参数,日期格式,这里使用YYYY格式符才能转换。
D选项不正确,TO_DATE函数,不写第二个参数,是转成默认日期格式,但这里的字符串显然不是默认日期格式,这样写是无法进行转换的,需要指定日期格式。
SQL> select TO_DATE('JUN 01 98') from dual;
select TO_DATE('JUN 01 98') from dual
*
ERROR at line 1:
ORA-01858: a non-numeric character was found where a numeric was expected
SQL> select TO_DATE('JUN 01 98','mm-dd-yyyy') from dual;
TO_DATE('JUN
------------
01-JUN-98
相关文章推荐
- OCP-1Z0-051 第102题 TO_DATE,TO_CHAR,TO_NUMBER函数的用法
- OCP-1Z0-051 补充题库 第28题 Date类型
- OCP-1Z0-051 第103题 CASE.. WHEN,TO_CHAR,TRIM的用法
- OCP-1Z0-051 补充题库 第9题 to_char将数字转成字符的格式应用
- OCP-1Z0-051 第80题 DATE数据类型
- OCP-1Z0-051 第22题 INTERVAL DAY TO SECOND的使用方法
- OCP-1Z0-051 第90题 转换函数
- OCP-1Z0-051 第105题 NVL,DECODE,NULLIF,TRUNC,TO_CHAR函数使用
- OCP-1Z0-051 第5题 to_char的数字的格式
- OCP-1Z0-051 第113题 GROUP BY, TO_CHAR的应用
- OCP-1Z0-051 第48题 索引
- OCP-1Z0-051 补充题库 第40题 聚合函数的使用
- OCP-1Z0-051 第84题 CONCAT,RAPLACE,INITCAP,SUBSTR函数
- OCP-1Z0-051-题目解析-第33题
- OCP 1Z0 051 9
- OCP 1Z0 051 10
- OCP-1Z0-051-V9.02-18题
- OCP-1Z0-051 第123题 JOIN中的USING子句,ON子句
- OCP 1Z0 051 36
- OCP-1Z0-051-V9.02-3题