mysqlだけでYYYYMMDD_HHmmssのファイルを作る
INTO OUTFILE に DATE_FORMAT(now(),'"%Y%m%d_%H%i%S.txt"') ってCONCATしてみたがダメで、変数を使うとよいらしい。
set @sql=CONCAT("SELECT * '",DATE_FORMAT(now(),'%Y%m%d_%H%i%S.txt'),"' FROM table WHERE hoge = foo;");
PREPARE sql1 FROM @sql;
EXECUTE sql1;
DEALLOCATE PREPARE sql1;
PREPAREとかEXECUTEとか滅多に使わないので関心した。
- 2009-08-13 21:33:44
- db
mysqlでど忘れする関数
MIN 最小値
MAX 最大値
AVG 平均
↑ここまではいいんだけど…下記が出てこない時がある。
-------------------------
STDDEV_POP 母集団標準偏差
STDDEV_SAMP 標本標準偏差
VAR_POP 分散(母標準)
VARIANCE 分散(母標準)
VAR_SAMP サンプル分散
- 2009-04-08 22:39:17
- db
sqliteでtruncateがない
mysqlでtruncate(int/10000,0)とある桁(この場合万の位)でデータをグループ化したりしていたんだけど…
sqliteではサポートしてないらしく、色々トンチをひねった結果下記に落ち着いた。
rtrim(int/10000,".")*1
要は少数の区切りの「.」以降を取り除くという感じ。
※sqliteは型がないに等しいのでintとてして評価したい場合は*1で無理矢理castする。
- 2009-02-19 21:17:42
- db
mysqlのクエリ結果のカラムの前後に文言を足す
通常のsql文だと
「select "front_str" || col1 || "back_str" from $table_name;」
なんだけどmysqlはconcat関数を使う。
「select concat("front_str",col1,"back_str") from $table_name;」
暫く、どう表現していいのか分からずググり方が分からんかったorz
- 2008-12-18 23:39:50
- db
sqliteでフィールド情報を得る
show fieldsが使えない(そもそもshowコマンドが存在しない)ので
pragma table_info($table_name);
でやる。
- 2008-04-28 13:28:25
- db