我有一個在SQLite中有幾列的表。我有兩列需要用來查詢此表(代碼,說明)。這兩個有COLLATE NOCASE
創建表時,如下圖所示:SQLite查詢區分大小寫
CREATE TABLE [AuditEvent] (
"Code" char(4) NOT NULL COLLATE NOCASE,
"Description" nvarchar(255) NOT NULL COLLATE NOCASE,
"AuditEventPK" guid NOT NULL,
PRIMARY KEY ([Code])
);
當我使用的代碼,我得到查詢表沒有結果
select * from auditevent where code = 'add' -- does not return any value
select * from auditevent where description = 'add' -- returns the right record.
然而,當我使用說明colomun查詢表,我得到結果。
在某些情況下,我必須使用CODE,但它不返回任何內容。任何想法??
'Code'設置爲'char(4)'所以它會是''add''和尾部空格。 – Silvermind 2013-05-01 07:02:40
謝謝Silvermind,工作,但是這意味着什麼時候我有char(x)我需要用空格來定位它? – 2013-05-01 07:04:07
是的,因爲'varchar'是因爲它的名字已經意味着長度是可變的,而'char'不是。 'char'總是固定的大小。如果您沒有提供足夠的字符,該值將在右側填充空格。 – Silvermind 2013-05-01 07:06:24