問題:
SQL中的換行符(line feed character)是什麼?它的ASCII值是什麼?
專家回答:
SQL本身並不使用換行符,因為換行符就跟空格符和回車符一樣都被看作是 “空白”。SQL把所有連續的“空白”符當作一個單個的空 格。
因此,下面這個查詢語句——
select foo
from bar
where fap = 'qux'
跟如下這個查詢語句意思是一樣的——
selectfoofrombarwherefap='qux'
但是,前者的書寫格式(多行,帶有縮進)比後者的單行查詢語句格式要更容易 讀和理解,尤其是在使用更長的查詢語句時。
你只有在像下面這種情況時才會需要知道換行符的ASCII值,比如需要查找包 含換行符的數據值。在這種情況下,你要查找的是二進制值為0110的單個字節, 相當於十進制值的10或十六進制值為0A。標准的SQL裡,你可以使用 “X” notation來表示十六進制字符。例如:
select username, body
from comments
where body like '%' || x'0A' || '%'
這個查詢語句可以找到所有包含換行符的備注。