2017-04-11 34 views
0

のテーブルに存在している -が、私はのような構造を持つ都市のテーブルを持っているMySQLの

- LIKE「広告」 -

# Name   Type   Collation 
1 cityId  int(11)    
2 countryCode char(5)  latin1_swedish_ci 
3 cityName  varchar(100) utf8mb4_unicode_ci 
4 lat   varchar(20) latin1_swedish_ci 
5 lng   varchar(20) latin1_swedish_ci 

私は「COUNTRYCODE」の都市を持っています

cityId countryCode cityName lat  lng 
1  ad   Aixàs  42.4833333 1.4666667 
2  ad   Aixirivali 42.4666667 1.5 
3  ad   Aixirivall 42.4666667 1.5 
4  ad   Aixirvall 42.4666667 1.5 
5  ad   Aixovall 42.4666667 1.4833333 

私はクエリを実行するとき - SELECT * FROM city WHERE countryCode = 'ad'、私は空のデータを取得します。私はこのデータをほぼ32,00,000レコードのExcelシートからインポートしました。 国コードの前後に空白がないことを確認しました。 照合に問題はありますか?私はいくつかの変換を行う必要がありますか?助けてください。

+1

を、あなたは次のように使用しようとすることはできますか? – Jens

+0

これを試してみてください: 'SELECT * FROM city where countryCode LIKE '%ad'' ...これがこれらのレコードを返すと、Excelインポートから空白または同様の問題が発生します。 –

+0

私はすでに両方のクエリを試しましたが、結果は空です。 –

答えて

0

は、あなたがそのように検索しているテキストを照合してください: ` '`%の広告%' のような都市COUNTRYCODE SELECT * FROM:

SELECT * FROM city WHERE countryCode = 'ad' COLLATE latin1_swedish_ci 
+0

私のテーブル照合は 'utf8mb4_unicode_ci'なので、 "COLLATION 'latin1_swedish_ci' CHARACTER SET 'utf8mb4'には無効です –

関連する問題