woshidan's loose leaf

ぼんやり勉強しています

MySQL

MySQLでdate型の値から対応する年, 月, 日の数字を抜き出す

ディレクターさんが使ってたのでメモ。 以前グーグルさんに聞いたら正規表現のものが出てきていたけど、 月ごとなどでグルーピングしたいときにはこっちの方がいいかもです。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.7 日付および時間関数 // MONT…

Impossible WHERE noticed after reading const tables

Explainの結果の中に見かけない出力を見つけたので調べました。 d.hatena.ne.jp ↑の記事によると、「ユニークキーを使って絞り込んだ後、データが見つからなかった場合に発生する」Extraのメッセージらしいです。 MySQLのドキュメントによりますと、 MySQL :…

日付っぽい文字列を日付にする

SET @TEST_STR='xxx: yyy, datetime: 2016-03-25 22:22:16 +0900'; select STR_TO_DATE(SUBSTR(@TEST_STR, INSTR(@TEST_STR, 'datetime') + 10, 25), '%Y-%m-%d %H:%i:%s'); +----------------------------------------------------------------------------…

実践SQL入門 2章まとめ

2章は特にExplain関係なかったので、普通に個人的なまとめ。 内容 ビューを作る INの中のサブクエリ 作業用SQLのメモ 検索CASE式と単純CASE式 CASE式を文字列の読み替えに使う UNION INTERSECTとEXCEPTはMySQLにない ウィンドウ関数もMySQLにはない ランキン…

実践SQL入門のPostgresSQLとOracleの例をMySQLで確認していく

2章の見出しに母国語を話すようにって書いてあって、母国語が不自由であることに定評がある自分は...。 続くかどうかは知らないが、一章分。 相変わらず、 実践SQL入門 と http://nippondanji.blogspot.jp/2009/03/mysqlexplain.html を眺めています。 一章…

Date.todayをtravel_toのブロックで使ったら他の部分のテストがこけた

テストで travel_to Date.today + 3.days { create(:model, some_date: Date.today) } とやったら、他の部分のActiveRecordの保存時刻がずれてテストがこけて原因が分からず大変だったので、あれこれ確認してみた。 結局原因はよく分からなかったけど、上の…

ドンドン身に付く、スラスラ書ける書き込み式SQLドリル 4章読んだ

生CREATE文の書いたことの無さに、 woshidan先生の二周目に乞うご期待☆みたいな感じが漂いながらとりあえず進めています。 二周目やるとしても、一周目のメモ見ながら問題解くだけだからだいぶ楽ですが。 4-1 CREATE TABLE table_name ( 列名1 data_type col…

ドンドン身に付く、スラスラ書ける書き込み式SQLドリル 3章読んだ

3-1, 3-2 そういえば、生のINSERT文書くの久しぶりすぎて笑えます。 列を指定せずに、新規のデータを挿入する場合 INSERT INTO table_name VALUES ( 'column1', 'column2', 'column3' ... // テーブルに定義されている順に書いていく。 // NULLや数値、関数…

ドンドン身に付く、スラスラ書ける書き込み式SQLドリル 2章読んだ

1章やっているときは、最初の方に出てきたキーワードを後でやり直さなきゃと思っていたのですが、杞憂でした。 2章以降、遠慮なく1章で使った要素がばんばん出てきて、長いSQLをがんがん書かされる感じ。 よいです。 2章 2-1 JOINキーワードを使うとき、テー…

ドンドン身に付く、スラスラ書ける書き込み式SQLドリル 1章読んだ

期限が近づいてきたので、ポートフォリオの修正をいったんおしまいにしました。キャッシュが何十MBあって最初焦りました。 面接のときにお勧めしてもらったドリルやっているのですが、こういうの結構好きで、受験のとき、理系のくせにやたら漢文のドリルをや…