2011-03-19 12 views
0
sqlite> select * from questions; 
data_id  data_text data_image parent_id data_order data_id:1 data_text:1 
---------- ---------- ---------- ---------- ---------- ---------- ----------- 
23   google     5      5   favorites   

嗨,我正在測試查詢。但是我只想選擇'data_text:1'列。如何在SQLite終端中選擇奇怪的列名?

我不知道如何選擇列。

回答

-1

用雙引號

select "data_text:1" from questions; 

@pst有助於解釋在註釋中列的名稱。我在這裏複述他:

SQLite的如下SQL-92這樣一個雙引號(這是一個標識符引號)將工作

+0

data_text:1 < - 這個結果。 ... hm .. – Beomseok 2011-03-19 19:23:18

+0

..我改變了列名當我創建表時。謝謝。 – Beomseok 2011-03-19 19:30:40

+0

-1 SQLite遵循SQL-92。一個*單引號*用於字符串文字(SQLite對其他文字類型使用單引號 - 這種blob數據 - 在前綴時)。答案中的代碼將選擇很多*值*'data_text:1',這是不正確的。 A *雙引號*是一個標識符引用 - ''select「data_text:1」from questions' would be fine。某些其他SQL方言(如MySQL中使用的方言)不能正確遵循SQL-92語法。 – 2011-03-19 19:52:38

0

用雙引號的列名:

select "data_text:1" from questions; 

SQLite遵循SQL-92語法,其中使用雙引號引用標識符(列/表名稱)。單引號用於引用文字值,如字符串'I am a string!'X'ABCD'(blob數據)。

快樂編碼。


我建議不需要在SQL中被引用,不與保留字衝突,因爲它讓生活變得更輕鬆簡單的列名。

0

環繞柱與``

`data_text:1` 

的名字被稱爲「反引號」你通常會發現它上面TAB和鍵盤左側的1。
或者你可以用組合得到它:(alt gr + 7)

+0

謝謝你不可分割的細節:) – 2014-06-05 15:03:03