SQL中單引號和雙引號之間的區別是什麼?SQL中單引號和雙引號之間的區別是什麼?
回答
單引號用於指示SQL中字符串的開頭和結尾。雙引號通常不在SQL中使用,但可以因數據庫而異。
堅持使用單引號。
無論如何,這是主要用途。您可以對列別名使用單引號 - 您希望在應用程序代碼中引用的列名不是列在數據庫中實際調用的名稱。例如:PRODUCT.id
將作爲product_id
更具可讀性,讓您使用以下之一:
SELECT PRODUCT.id AS product_id
SELECT PRODUCT.id 'product_id'
無論是工作在甲骨文,SQL服務器,MySQL的......但我知道有些曾經說過TOAD IDE似乎在使用單引號方法時會帶來一些悲傷。
當列別名包含空格字符(如product id
)時,您必須使用單引號,但建議不要將列別名設置爲多個單詞。
在ANSI SQL中,雙引號引用對象名稱(例如表格),它允許它們包含不允許的字符,或者與保留字(避免這種情況)相同。
單引號是用於字符串。
但是,MySQL忘記了標準(除非其SQL_MODE已更改),並允許它們交換使用字符串。
此外,Sybase和Microsoft也使用方括號來標識引用。
所以它有點特定於供應商。
其它數據庫如Postgres的和IBM實際上堅持ANSI標準:)
單引號分隔字符串常量或日期/時間常數。
雙引號分隔了例如表名或列名。這通常只在您的標識符不符合簡單標識符的規則時才需要。
參見:
可以使MySQL使用符合ANSI標準的雙引號:
SET GLOBAL SQL_MODE=ANSI_QUOTES
您可以使用Microsoft SQL Server雙引號按照ANSI標準:
SET QUOTED_IDENTIFIER ON
- [小號]英格爾報價是用於[小號] trings;雙引號是[D]數據庫標識符;
- 的`符號是一樣的「象徵。你可以使用」與ANSI_QUOTES啓用。
爲了澄清,反引號(')可用於界定標識符ANSI_QUOTES是否被啓用,但是如果啓用ANSI_QUOTES,那麼「你不能使用雙引號引用文字字符串,因爲它被解釋爲標識符。」 ([源(https://dev.mysql.com/doc/refman/5.6/en/sql-mode.html#sqlmode_ansi_quotes))。 (這一切都假設你正在談論MySQL,請介意。) – Sam 2016-10-26 09:34:46
好評,謝謝! – 2016-11-22 21:23:10
我用這個記憶:
- 單引號的字符串(一件事)
- 雙引號的表名和列名(兩件事)
這是根據規格不是100%正確,但這個助記符幫助我(人類)。
- 1. Ruby--單引號和雙引號之間有什麼區別?
- 2. ClojureScript中單引號標識符和雙引號之間的區別是什麼?
- 3. 什麼是單引號和雙引號之間的區別定義在PowerShell中
- 4. Objective-C中單引號和雙引號的區別是什麼?
- 5. Perl中單引號和雙引號的區別是什麼?
- 6. ASP.NET 4中'(單引號)和「(雙引號)之間的區別4
- 7. Bash中單引號和雙引號之間的區別
- 8. python中單引號,雙引號和三引號的區別是什麼?
- 9. 雙引號和單引號的區別
- 10. 豬的雙引號和單引號有什麼區別?
- 11. 在xquery中,單引號和雙引號之間是否有區別?
- 12. mysql查詢中雙引號和單引號的區別是什麼
- 13. PHP字符串比較單引號和雙引號之間是否有區別?
- 14. SQL語句中的反引號和方括號之間的區別是什麼?
- 15. 我的JS和CSS中的單引號或雙引號有什麼區別?
- 16. 單引號和雙引號html屬性之間的功能差異是什麼?
- 17. ActionScript中單引號和雙引號字符串的區別
- 18. Java中的單引號和雙引號有區別嗎?
- 19. PHP中單引號和雙引號字符串有什麼區別?
- 20. 使用單引號和雙引號在Ruby中查詢Hash有什麼區別?
- 21. 什麼使反引號和撇號之間有很大區別?
- 22. SQL Server中用於別名的方括號和單引號之間的區別是什麼?
- 23. groovy中的單引號或雙引號內的字符串有什麼區別?
- 24. 引號和廚師屬性中冒號之間的區別是什麼?
- 25. 比較中單引號與雙引號的意義是什麼?
- 26. 無限期地在單引號和雙引號之間交替
- 27. 單引號和雙引號在Python中
- 28. 在ColdFusion中,屬性值的單引號和雙引號是做什麼用的?
- 29. bash腳本中的反引號和$()之間的區別是什麼?
- 30. 雙方括號和單方括號之間的區別是什麼[和[[以及等號=和==?
雙引號通常用於對象名稱(例如列名「First name」)。這是SQL-92標準的一部分。 – LukLed 2010-01-02 18:27:49
@LukLed:你的意思是一列*別名*?如果你這樣說 - 我只見過和/或使用過'AS column_name'表示法,或者在列引用之後的**單引號**中提供別名的地方。如果在列別名中有空格字符(我不推薦),必須將別名括在單引號中。 – 2010-01-02 18:31:40
不,我的意思是列名,但它也涉及別名。由於SQL-92標準,我建議使用雙引號來表示別名和不常用字符的名稱。 'SELECT * FROM USERS'Users''不適用於SQL Server,但是SELECT * FROM USERS「Users」'。 – LukLed 2010-01-02 18:38:18