IGNORE_SPACE SQL 模式可用于修改解析器處理空白敏感的函數名稱的方式。以下是我們可以使用 IGNORE_SPACE SQL 模式的情況 –
案例-1 – 當 IGNORE_SPACE SQL 模式被禁用時
禁用 IGNORE_SPACE SQL 后模式下,當名稱和后面的括號之間沒有空格時,解析器會將名稱解釋為函數調用。當函數名稱在非表達式上下文中使用時也會發生這種情況。可以從以下查詢中理解 –
mysql> Create table SUM(Id Int); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUM(Id Int)' at line 1
登錄后復制
現在我們可以使用空格或將名稱放在引號中來消除錯誤并使名稱被視為標識符。以下語句做了同樣的事情 –
Create table SUM (id int); Create table ‘SUM’(id int); Create table ‘SUM’ (id int);
登錄后復制
情況 2 – 當啟用 IGNORE_SPACE SQL 模式時
當我們啟用此模式時,解析器放寬了函數名和函數名之間不能有空格的要求后面的括號。例如,啟用 IGNORE_SPACE SQL 模式后,以下兩個函數調用都是合法的 –
Select SUM(Salary) from employee; Select SUM (Salary) from employee;
登錄后復制
但是,在這種情況下,解析器會將函數名稱視為保留字。這意味著名稱后面的空格不再代表標識符。
以上就是SQL模式IGNORE_SPACE有什么用?的詳細內容,更多請關注www.92cms.cn其它相關文章!