13. View the Exhibit and examine the structure of the PRODUCTS table.

You need to generate a report in the following format:

CATEGORIES

5MP Digital Photo Camera's category is Photo

Y Box's category is Electronics

Envoy Ambassador's category is Hardware

Which two queries would give the required output? (Choose two.)

A. SELECT prod_name  q'''s category is '  prod_category CATEGORIES

FROM products;

B. SELECT prod_name  q'['s ]'category is '  prod_category CATEGORIES

FROM products;

C. SELECT prod_name  q'\'s\'   ' category is '  prod_category CATEGORIES

FROM products;

D. SELECT prod_name  q'<'s >'   'category is '  prod_category CATEGORIES

FROM products;

Answer: CD

答案解析:

在SQL字符串是以单引号作为分界符的,在字符串前面和后面各一个单引号。但是字符串中也能包含单引号,为了使语法分析器能够区分字符串中的单引号还是分界符。规定当字符串中出现单引号时,在其前面添加一个单引号作为区分。也就是说, 在单引号分隔的字符串中,两个连续的单引号''表示一个单引号字符。
sh@TEST1107> select '''' from dual;
 
'
-
'

四个连续单引号分界为: 
第一个单引号,字符串的开始分界符。
接下来连续的两个单引号,表示字符串的值(一个单引号)
第四个单引号,字符串的结束分界符。

 
sh@TEST1107> select 'today is ''FRIDAY''' from dual;
 
'TODAYIS''FRIDAY'
-----------------
today is 'FRIDAY'
 
在Oracle中,single-quote(‘)是一个表示字符串的关键字。所以在字符串中用两个”表示一个实际的单引号字符。所有才会有了上面第一条SQL的'today is ''FRIDAY'''。双引号“被识别为一个实际的的字符串。其实Oracle提供了一个Q-quote的表达式,用来简化SQL或PLSQL中字符串的表示。
sh@TEST1107>  select q'[today is ''FRIDAY'']' names from dual;
 
NAMES
-------------------
today is ''FRIDAY''
 
sh@TEST1107> select q'[today is 'FRIDAY']' names from dual;
 
NAMES
-----------------
today is 'FRIDAY'
看上面两个的差别可知,使用Q-quote的表达式,只需要将要表示的字符串用一对特殊字符括起来,这对字符必须一致。不一致会报错。
sh@TEST1107> select q'[today is 'FRIDAY'|' names from dual;
ERROR:
ORA-01756: quoted string not properly terminated

sh@TEST1107> select q'|today is 'FRIDAY'|' names from dual;
 
 
NAMES
-----------------
today is 'FRIDAY'
 
从以上实验来解答题中的答案。
 
A答案错误,使用‘作为特殊字符,is后面缺少单引号,应该为
sh@TEST1107> SELECT prod_name || q'''s category is ''|| prod_category CATEGORIES FROM products;
 
CATEGORIES
----------------------------------------------------------------------------------------------------
5MP Telephoto Digital Camera's category is Photo
17" LCD w/built-in HDTV Tuner's category is Peripherals and Accessories
Envoy 256MB - 40GB's category is Hardware
Y Box's category is Electronics
Mini DV Camcorder with 3.5" Swivel LCD's category is Photo
 
B. 错误。

SELECT prod_name  q'['s ]'category is '  prod_category CATEGORIES FROM products;
category is ' 这里前面缺少一个单引号。缺少category is 开始的单引号。
应该为:
sh@TEST1107> SELECT prod_name || q'['s ]'||'category is '||prod_category CATEGORIES FROM products;
 
CATEGORIES
----------------------------------------------------------------------------------------------------
5MP Telephoto Digital Camera's category is Photo
17" LCD w/built-in HDTV Tuner's category is Peripherals and Accessories
Envoy 256MB - 40GB's category is Hardware
Y Box's category is Electronics
 
 
C. 正确

SELECT prod_name  q'\'s\'   ' category is '  prod_category CATEGORIES FROM products;

OCP-1Z0-051-V9.02-13题

 
sh@TEST1107>

 SELECT prod_name||  q'\'s\' ||  ' category is ' || prod_category CATEGORIES FROM products;
 
CATEGORIES
----------------------------------------------------------------------------------------------------
5MP Telephoto Digital Camera's category is Photo
17" LCD w/built-in HDTV Tuner's category is Peripherals and Accessories
Envoy 256MB - 40GB's category is Hardware
Y Box's category is Electronics
 
 
D. 正确

SELECT prod_name  q'<'s >'   'category is '  prod_category CATEGORIES FROM products;
 
 
sh@TEST1107>

SELECT prod_name || q'<'s >'  || 'category is ' || prod_category CATEGORIES FROM products;
 
CATEGORIES
----------------------------------------------------------------------------------------------------
5MP Telephoto Digital Camera's category is Photo
17" LCD w/built-in HDTV Tuner's category is Peripherals and Accessories
Envoy 256MB - 40GB's category is Hardware
Y Box's category is Electronics

OCP-1Z0-051-V9.02-13题 单引号的使用的更多相关文章

  1. OCP-1Z0-051-题目解析-第13题

    13. View the Exhibit and examine the structure of the PRODUCTS table. You need to generate a report ...

  2. 剑指offer 面试13题

    面试13题: 题目:机器人的运动范围 题:地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子 ...

  3. 笨办法学python 13题:pycharm 运行

    笨办法学python 13题 代码: # -*- coding: utf-8 -*- from sys import argv # argv--argument variable 参数变量 scrip ...

  4. php 单引号与双引号区别

    一.单引号与双引号区别 1." "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出. 2.' '单引号里面的不进行解释,直接输出. 从字面意思上就可以看出,单引号比双引 ...

  5. php 单引号 双引号 ,php字符串/ hmtl / 数据库显示/ 及php的几个转化函数

    * 以单引号为定界符的php字符串,支持两个转义\'和\\* 以双引号为定界符的php字符串,支持下列转义(\'会直接输出\' ,也会转义 \\):    \n 换行(LF 或 ASCII 字符 0x ...

  6. jquery 单引号和双引号的区别及使用注意

    在js中单引号和双引号都是一样的,平时使用的时候尽量用单引号,只有碰到嵌套的时候才会同时用两种引号,感兴趣的朋友可以了解下: 可以执行的语法:$("ul li a").filter ...

  7. PHP字符串处理 单引号 双引号 heredoc nowdoc 定界符

    ---恢复内容开始--- 2019年2月22日09:49:54 参考文档:   http://php.net/manual/zh/language.types.string.php#language. ...

  8. shell中的括号(小括号,中括号,大括号)及单引号、 双引号,反引号(``)

    一.小括号,园括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号, ...

  9. centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课

    centos shell基础知识 alias  变量单引号 双引号   history 错误重定向 2>&1  jobs  环境变量 .bash_history  source配置文件 ...

随机推荐

  1. 【C#】扩展方法浅谈

    C#3 引入的扩展方法这一个理念. 扩展方法最明显的特征是在方法参数中第一个参数有this声明. 其实C#库中有很多已经是扩展方法了.比如linq中对序列使用的查询语句, where, select等 ...

  2. maven web项目配置log4j,及log4j参数设置

    本文为博主原创,转载须注明转载地址: 1.在maven项目中引入相关的依赖: 需要依赖的jar为: <!-- 配置日志 --> <dependency> <groupId ...

  3. Jquery Validate 相关参数

    Jquery Validate 相关参数 //定义中文消息 var cnmsg = { required: “必选字段”, remote: “请修正该字段”, email: “请输入正确格式的电子邮件 ...

  4. JavaScript——语法与数据类型

    严格模式 ECMA5引入了严格模式的概念.严格模式是为JavaScript定义了一种不同的解析与执行模型.在严格模式下,ECMA3中的一些不确定的行为将得到处理,而且对某些不安全的操作也会抛出错误.要 ...

  5. 在用node安装某个全局模块的时候,没有权限修改node_modules

    一.问题 今天在安装公司内部的一个npm模块的时候,发现报错了⬇ 第一行错误: deprecated graceful-fs@1.2.3: please upgrade to graceful-fs ...

  6. chrome浏览器的SwitchyOmega插件使用方法

    对于有某些特殊需求的人来讲,应该对这个插件不陌生,但是很多人不了解这插件的工作原理,百度的老教程又很烂,在刚开始用的时候我也不知道怎么办,去百度搜出来的教程基本都是让下载个规则文件让你去导入,但一般这 ...

  7. 转 Failed to run the WC DB work queue associated with 错误的解决

    svn 异常终止导致的缓存工作队列问题 解决方法:清空svn的队列 1.下载sqlite3.exe 2.找到你项目的.svn文件,查看是否存在wc.db 3.将sqlite3.exe放到.svn的同级 ...

  8. python 移动文件夹

    xxx@ddd:~$ mkdir testa testb >>> import shutil >>> shutil.move("/home/xxx/tes ...

  9. Java 中常见的各种排序算法汇总

    首先,Java中自已是有排序的 说明:(1)Arrays类中的sort()使用的是“经过调优的快速排序法”;(2)比如int[],double[],char[]等基数据类型的数组,Arrays类之只是 ...

  10. Python3 数据库连接

    PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中使用mysqldb. 数据库连接 连接数据库前,请先确认一下事项: 已经创建数据库testdb. 在test ...