月別アーカイブ: 2016年7月

車載アプリ その2

以前車載アプリの一つとしてグーグルのAndroid Autoを紹介しました。
紹介したときはまだ米国と英国およびオーストラリアでしたが、
とうとう日本での提供が開始されることになりました。

日本では日産、ホンダ、フォルクスワーゲン(VW)、マセラティ、
アウディの一部車種と、パナソニックで対応するそうです。
対応カーナビとして、
日産では7月15日発売の純正カーナビ「MM516D-L/W」
ホンダの場合は2016年モデルの「アコード ハイブリッドLX/EX」
パナソニックでは6月に発売された市販カーナビ「ストラーダ CN F1D」
と最新モデルが対象になるそうです。

Android Autoは、ナビ機能や音楽再生機能のほかに、
SMSやチャットアプリなどの通知メッセージを音声で再生する機能や、
グーグルが提供するアプリのほか、AWAやSkypeといった、
サードパーティの音楽アプリやメッセージングアプリも使用することができるそうです。

今後、「OK, Google」による音声コマンド起動や、
Wi-Fiでの接続に対応するアップデートが提供される予定で、
今後より一層快適な運転環境になるのではないかと考えています。

参照URL
・「Android Auto」日本で提供開始、日産・ホンダ・VW車やパナソニックのカーナビから
http://k-tai.watch.impress.co.jp/docs/news/1010041.html

MySQLでフィールドの値を交換する

MySQLでフィールドの値を入れ替えるのに失敗したので、
備忘録を兼ねて交換する方法を書きます。

まず間違ったクエリですが、以下のようなクエリはSQLServerでは大丈夫ですが、
MySQLでは処理順の都合で結果としてXもYもどちらもYの値で更新されます。

UPDATE `table` SET `X`=`Y`, `Y`=`X`;

なので、ユーザ変数を利用して以下のようなクエリにします。

SET @temp = 0;
UPDATE `table` SET `X` = (@temp:=`X`) * 0 + `Y`, `Y` = @temp;

こうすることで以下のように処理されるので、値の交換ができます。

// ユーザ変数@tempに`X`が代入される。
(@temp:=`X`)

// Xの値を0にしてYを加算することでYの値でXを更新される
`X` = (@temp:=`X`) * 0 + `Y`

// Yの値をユーザ変数@temp=`X`の値で更新される
`Y` = @temp

交換する項目が数値型以外の場合は、
以下の個所を型に併せた形に書き換えれば対応できます。

(@temp:=`X`) * 0 + `Y`