2016-04-25 110 views
0

我有一個保存MAC地址的SQLite表列。SQL(ite)where子句用冒號(:)字符

如何爲包含冒號「:」字符的字符串值編寫SQL where子句?用引號字符圍住它不起作用。

到目前爲止,我已經收到此錯誤:

android.database.sqlite.SQLiteException: near ":66": syntax error (code 1): , while compiling: SELECT * FROM PhoneStatus WHERE phoneDeviceId=00:66:4B:B2:7B:F5 

謝謝!

+0

搜索您的dbms的轉義字符。此外,phoneDeviceId是char類型,用單引號括起來。 '00:66:4B:B2:7B:F5' –

回答

0

你似乎需要使用單引號的字符串常量:

SELECT * 
FROM PhoneStatus 
WHERE phoneDeviceId = '00:66:4B:B2:7B:F5' 

如果查詢單引號分隔,然後雙擊他們,或以某種方式逃避它們。

+0

這似乎不起作用。既不加倍也不逃避報價。 –

+0

問題是我使用的包裝函數沒有正確處理字符串引用。 這工作: SQLiteDatabase.rawQuery(「SELECT * FROM PhoneStatus WHERE phoneDeviceId = '00:66:4B:B2:7B:F5'」); 謝謝! –