を笑っていないよ:SQL CONCAT - 変な文字 - が、私はそうのように、ブログのアーカイブメニューを生成するために、このクエリを使用しています
SELECT CONCAT(MONTHNAME(published) , ' ' , YEAR(published)) AS monthyear,
COUNT(*) AS total
FROM blog_articles
WHERE status = 'Online' AND Year(published) = 2012
GROUP BY CONCAT(MONTHNAME(published) , ' ' , YEAR(published))
期待される結果:
January 2012 103
February 2012 87
March 2012 23
April 2012 99
実際の結果:
カウントが正しいかではなく、精神的な東洋の、それは翔uldは:
May 2012 1
私は面白い文字を削除し、代わりに英語を使用することができますか?
このクエリをphpMyAdminで実行すると、文字は問題ありません。
UPDATE私はちょうどconn.Executeを実行しようとしている
( "lc_time_namesの= 'en_USの' を設定;")、問題を解決していません。チェックするために、conn.Execute( "SELECT @@ lc_time_names;")を使用し、 "en_US"を返しました。関連する問題のためのMySQLのフォーラムで検索
別の更新
、私は別の男が同じ問題について泣き言ました。 MySQLの教祖は言った:
「これは有名な(悪名高い)サーバは数値と文字列のCONCAT の間違った種類を返します。一つは 仕事に、このため(キャスト)フォームを使用する必要があり、ドライバです。本当のタイプが何であるかを知ることはできません」
キャストがどのようなものか、この問題を解決する方法がわかりません。
+ 1タイトルの場合:P – Oleksi
+1「mental oriental」:「P」。 – Bojangles
「面白い」文字の問題を再現する*最も些細な*クエリは何ですか?上記のクエリは、1.最小限のクエリ(指定する必要があります)または2.不必要なSQL( 'GROUP BY'、' CONCAT'、 'MONTHNAME'など)がたくさんあります。 –