我相信你做得比它需要更難,同時你失去了一些東西。這是你想要做的嗎?
SELECT country FROM data WHERE city LIKE 'jakarta%'
也就是說,你是否在尋找城市名稱以'jakarta'開頭的每一行的國家專欄?如果是這樣,不要忘記%
標誌。如果不包括%
標誌,然後
SELECT country FROM data WHERE city LIKE 'jakarta'
和
SELECT country FROM data WHERE city = 'jakarta'
的意思完全一樣的東西作爲對方,並在LIKE
運營商是沒有意義的;你也可以使用=
運營商。
所以,在我看來,你想要的MySQL查詢是
SELECT country FROM data WHERE city LIKE CONCAT(LEFT('jakartada',7),'%')
添加%標誌。在這種情況下,你不需要子選擇。
就像你指出,你需要那麼Java代碼:
String sql = "SELECT country FROM data " .
"WHERE city LIKE CONCAT(LEFT(?,7),'%')";
PreparedStatement ps = koneksi.prepareStatement(sql);
ps.setString(1, city );
ResultSet rs = ps.executeQuery();
... process the rs records ...
rs.close(); /* please don't forget to close your result sets */
OP使用'LIKE'所以我有點擔心拋出SQLException .. – Smit
然後捕獲SQLException? – hd1
@Kevin Bowersox:如何在語句中添加參數,你可以給出一個例子與該查詢? – reza