Fusion Tablesで日本語文字列で検索できない問題の対処

Where句でのシングルクォートとダブルクォートの違いが原因。
Fusion Tablesでは、文字列の囲みは、シングルクォートを使う。ダブルクォートの場合、解釈されず、エラーになる。

検証していて厄介だったのは、Where句を用いた検索で、ダブルクォートを使うと、中身が数字だと検索できるのに、中身がマルチバイト文字列だとエラーになる。
しかも、FusionTables.Query.sqlGet(sql)でクラッシュする。

OKパターン

  var sql = 'select * from ' + tableId;
  sql += " where name like '%" + keyWord + "%'";

NGパターン

  var sql = 'select * from ' + tableId;
  sql += ' where name like "%' + keyWord + '%" ';

Fusion TableのSQLは、厳密に”を解釈するようだ。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする