MySQLでn分前を取得する
わすれがちなのでメモ
参考
更新されて10分以内のデータを取得する
SELECT * FROM 'テーブル名' WHERE 'カラム名' >= CURRENT_TIMESTAMP + INTERVAL - 10 MINUTE
その他
n分以外にも、n年等任意の条件に変更することができる
unit | 説明 |
---|---|
YEAR | 年 |
MONTH | 月 |
DAY | 日 |
HOUR | 時 |
MINUTE | 分 |
SECOND | 秒 |
MICROSECOND | マイクロ秒 |
WEEK | 週 |
MySQLで特定のカラムが存在しないテーブル名を特定する
「deleteDate」が無いテーブルを特定したかったが、苦戦したのでメモ
USE information_schema; SELECT temp1.table_name FROM ( SELECT DISTINCT table_name FROM columns WHERE table_schema = 'DB名' AND column_name != 'deleteDate' ) AS temp1 LEFT OUTER JOIN ( SELECT DISTINCT table_name FROM columns WHERE table_schema = 'DB名' AND column_name = 'deleteDate' ) AS temp2 ON temp1.table_name = temp2.table_name WHERE temp2.table_name IS NULL;
おまけ
テーブル一覧を取得する
SHOW TABLES FROM 'DB名'; -- または SELECT table_name, table_type, engine FROM information_schema.tables WHERE table_schema = 'DB名';
テーブルのカラム一覧を取得する
SHOW COLUMNS FROM 'テーブル名';
テーブル一覧とカラム一覧を取得する
USE information_schema; SELECT table_name, column_name FROM columns WHERE table_schema = 'DB名';
BashでGitコマンドのタブ補完を有効にする
BashでGitコマンドのタブ補完を有効にする
git-completion.bashを導入する
git-completion.bash はGitコマンドをタブ補完してくれるスクリプト
導入方法
- git-completion.bash をダウンロードして適当な場所に配置する(今回はホームディレクトリ)
- ~/.bashrc に source $HOME/git-completion.bash の一行を加える
- source ~/.bashrc で再読み込みする
追記
もしかしたら、ダウンロードしなくてもインストールされているかもしれない
sudo find / -name git-completion.bash
jQueryでチェックボックスの全選択を実装する
- 「全て選択」にチェックすると全ての項目にチェックが付与される
- ひとつでもチェックを外すと、「全て選択」もチェックが外れる
- また、全ての項目にチェックを付与すると「全て選択」がチェックされる
HTML
<label for="allChecked"> <input type="checkbox" name="allChecked" id="allChecked" value="1"> <span>全て選択</span> </label> <div id="cities"> <label><input type="checkbox" name="city[]" value="1" /> 東京</label> <label><input type="checkbox" name="city[]" value="2" /> 大阪</label> <label><input type="checkbox" name="city[]" value="3" /> 名古屋</label> <label><input type="checkbox" name="city[]" value="4" /> 福岡</label> </div>
JavaScript
$(function() { // 「全て選択」のチェックボックスの制御 $('#allChecked').click(function() { $("input[name='city[]']").prop('checked', this.checked); }); // センターが選択された場合、「全て選択」を制御する $("input[name='city[]']").on('click', function() { controlCities(); }); function controlCities() { if ($('#cities :checked').length == $('#cities :input').length) { $('#allChecked').prop('checked', true); } else { $('#allChecked').prop('checked', false); } } controlCities(); });
解説
jQuery UIのDatepickerで日付を連動して変更する
jQuery UIのDatepickerで日付を連動して変更する
jQuery UIのDatepickerで日付の範囲検索の場合に 片方の値を変更した際に、もう一方も連動して変更する方法
以下の例では、「fromDate」を変更すると「toDate」も連動して変更されるが、「toDate」を変更しても「fromDate」は変更されない
$(function () { $.datepicker.setDefaults($.datepicker.regional['ja']); $('.datepicker').each(function() { $(this).datepicker({ dateFormat: 'yy/mm/dd', changeMonth: true, changeYear: true, onSelect: function (date, obj) { if (obj.id == 'fromDate') { $('#toDate').val(date); } } }); }); });
Gitでマージ済みブランチを一括削除する
削除する前に必ず対象ファイルを確認する
grep部分で対象を制限できる
マージ済みのリモートブランチ一覧を一括削除する
git branch --remote --merged | grep -vE '^\*|master$' | tr -d 'origin/' | xargs -I % git push --delete origin %
マージ済みのローカルブランチ一覧を一括削除する
git branch --merged | grep -vE '^\*|master$' | xargs -I % git branch -d %