OCP 1Z0 051 V9 02 13題
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
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字串是以 單引號作為分界符的,在字串前面和後面各一個 單引號。但是字串中也能包含 單引號,為了使語法分析器能夠區分字串中的單引號還是分界符。規定當字串中出現單引號時,在其前面新增一個單引號作為區分。也就是說, 在單引號分隔的字串中,兩個連續的單引號''表示一個單引號字元。 [email protected]> select '''' from dual;
' - ' 四個連續單引號分界為:
第一個單引號,字串的開始分界符。
接下來連續的兩個單引號,表示字串的值(一個單引號)
第四個單引號,字串的結束分界符。
[email protected]> select 'today is ''FRIDAY''' from dual;
'TODAYIS''FRIDAY' ----------------- today is 'FRIDAY'
在Oracle中,single-quote(‘)是一個表示字串的關鍵字。所以在字串中用兩個”表示一個實際的單引號字元。所有才會有了上面第一條SQL的'today is ''FRIDAY'''。雙引號“被識別為一個實際的的字串。其實Oracle提供了一個Q-quote的表示式,用來簡化SQL或PLSQL中字串的表示。 [email protected]> select q'[today is ''FRIDAY'']' names from dual;
NAMES ------------------- today is ''FRIDAY''
[email protected]> select q'[today is 'FRIDAY']' names from dual;
NAMES ----------------- today is 'FRIDAY' 看上面兩個的差別可知,使用Q-quote的表示式,只需要將要表示的字串用一對特殊字元括起來,這對字元必須一致。不一致會報錯。 [email protected]> select q'[today is 'FRIDAY'|' names from dual; ERROR: ORA-01756: quoted string not properly terminated
[email protected]> select q'|today is 'FRIDAY'|' names from dual;
NAMES ----------------- today is 'FRIDAY'
從以上實驗來解答題中的答案。
A答案錯誤,使用‘作為特殊字元,is後面缺少單引號,應該為 [email protected]> 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 開始的單引號。 應該為: [email protected]> 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;
[email protected]> 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;
[email protected]> 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
注意,題中答案需要新增||來連線字串。