コピー2018.09.17先日、会社の後輩に作ってもらったストアドで、なぜか一部、ストアドで返ってくる結果のフィールド名が空白になってしまうという現象が発生しました()。具体的には下記のようなSQLとなっていた。fruit結果:見てわかる通り、fruit_idのフィールド名は取得できているのだけど、fruit_nameのほうは空白になっている。試しに、コピペで順序を逆にしてみても、fruit_nameのほうが空白になった。一見すると、何の変哲もないSQL。見ていても何も分からなかったので、とりあえずコメントも消してみてもう少しシンプルな形にしてみようかと思ったときにちょっとだけ違和感。なんだかカーソルの動きが一部だけ大きいような......。思って試しにテキストエディタに貼り付けてみたらわかりました。fruit_nameのほうは、コメントの左側に全角スペースが入っています。それでもなぜカラム名が空白になるのかすぐには分かりませんでした。何でこんな現象が起こるのかなと。これは、フィールド名は空文字ではなく、全角スペースになっているんだろいうことに。下記のようなSQLと同じようになっているということです。別名をつけるASキーワードが省略されたと判断されて、フィールド名が全角スペースになっていたということです(今回試したのはMySQLですが、多分他のSQLでも同様の現象が発生するのではないかと思います)。それにしても、なぜSQLはASを省略していいという仕様になったのだろうか。ASを省略しているSQLはよく見かけるけど、個人的に分かりにくいし、今回みたいによく分からないバグの原因にもなりかねない気がするのだけど。これできないの?」と思ったことがるので書きます。試した環境はMySQL8(他のDBMSでは動作が異なるかもしれない)。BY句にSELECT句で指定した別名を利用していて驚きました。「いや、これ動くの!?」と。BYでSELECTにつけた別名は使えなさそうですが...SQL【MySQL】DECIMAL型の小数点以下の末尾の0を取り除く方法データベースにMySQLを使っているシステムにおいて、MySQLから数値を文字列として取得してそのまま表示したいということがあったのだけれども、DECIMAL型だとなんと小数点以下の末尾の0がそのまま表示されてしまうことが発覚。(d...SQL【SQL】特定のデータがあるグループのみ抽出する方法SQLで集計する時に、ある特定の値があるグループのみ抽出したいということがあると思います。先日、仕事でそういうことをしたいということがあったのですが、すぐには思いつかず、仕事を終えた後に思いついたので、紹介したいと思います。最近、仕事では複雑なSQLばっかり書いています。byのcaseの中で別名は使えないようあれ?そうなのか。仮にPostgreSQLで作られたDBに下記のような、personテーブルがあるとします。コメントをキャンセルメールアドレスが公開されることはありません。(幻冬舎文庫)(ブクログレビュー)カテゴリーPR2Web制作76CSS16HTML8HTML512jQuery17Vue.js14WebAPI2WordPress6まとめ13フリーソフト7プログラミング101JavaScript61PHP5R10SQL10UiPath7VBA3クラシックASP1日記11イベント5書評1未分類2豆知識19雑記25アーカイブ2023年4月12023年3月12023年1月12022年12月12022年11月32022年10月22022年9月12022年8月12022年6月22022年5月12022年4月32022年3月22022年2月52022年1月82019年9月22019年6月32019年5月12019年2月32019年1月32018年12月42018年11月12018年10月22018年9月22018年8月22018年7月32018年6月12018年5月22018年4月22018年3月52018年2月12016年11月32016年10月62016年2月12016年1月32015年12月22015年11月32015年10月12015年9月12015年7月12015年5月22015年4月22015年3月22015年2月22015年1月22014年12月42014年11月92014年10月62014年9月52014年8月72014年7月62014年6月52014年5月52014年4月62014年3月62014年2月92014年1月132013年12月82013年11月92013年10月82012年8月12012年6月32012年5月42012年4月42012年3月62012年2月82012年1月17タイトルとURLをコピーしました。