2014年3月25日火曜日

mysqlの正規表現REGEXPと文字列抽出SUBSTRING,LOCATEで括弧の中の内容を抽出する

mysqlの正規表現と文字列抽出で括弧の中の内容を抽出する

共同住宅(45戸)

45戸

一般の正規表現では数字を表すのは'\d'で、非数字は'\D'で行けるはずだが、
mysqlでは'[0-9]'が数字みたい。本当?
また括弧'('を表示するのに、'\('ではなく、'[.(.]'と'[.).]'です。
http://dev.mysql.com/doc/refman/5.1-olh/ja/regexp.html
クエリーはこんな感じ

SELECT stringWithBracket,
TRIM(SUBSTRING(stringWithBracket, LOCATE('(',stringWithBracket)+1, LOCATE(')',stringWithBracket)- LOCATE('(',stringWithBracket)-1)) AS house
FROM myTable
WHERE t_gyoumu.shuyou_youto REGEXP '[.(.][0-9]+戸[.).]';

mysql、ユーザを作成して、そして同名データベースを作成して、すべての特権を付与する


CREATE USER 'lands'@'%' IDENTIFIED BY '***'; GRANT USAGE ON *.* TO 'lands'@'%' IDENTIFIED BY '***';
CREATE DATABASE IF NOT EXISTS `lands`; GRANT ALL PRIVILEGES ON `lands`.* TO 'lands'@'%';

centosディスク容量Usedが100%になりました!.xsession-errorsが肥大化しているせいだ

まず

# df -h

そして、どのフォルダーが一番容量を食っているかを調べる

# du -h --max-depth 1 /
# du -h --max-depth 1 /root

/root/.xsession-errorsが肥大化していること発見

全部削除して、そして全部「無」につなげてしまえ!

# rm -r ${HOME}/.xsession-errors
# ln -s /dev/null ${HOME}/.xsession-errors

以上、再起動(再起動しないと何故かdfで確認しでも更新されない)

# shutdown -r now

再起動したら、dfで確認したら、usedが100%→39%になりました

2014年3月23日日曜日

エクセル、シートをPDFファイルに保存するメソッド

Sub savePdf(ByRef st As Worksheet, saveTo As String)
    st.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        saveTo, Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub
使い方:

Call savePdf(ActiveSheet, "c:\abc.pdf")

2014年3月15日土曜日

5GHzと2.4GHzで同じネットワーク名(SSID)

5GHzと2.4GHzで同じネットワーク名(SSID)で違う暗号化キーを設定した場合、接続できなくなる場合があります。
ネットワーク名(SSID)を同じにする場合は、必ず暗号化キーも同じにしてください。

2014年3月14日金曜日

非表示の行をスキップし、可視行(列)までにOffsetする関数を作りました

非表示の行をスキップし、可視行(列)までにOffsetする関数を作りました
Function offsetVisible(ByRef baseCl As Range, offsetX As Long, offsetY As Long) As Range
    Dim targetCl As Range
    Set targetCl = baseCl.Offset(offsetX, offsetY)
    Do Until targetCl.EntireRow.Hidden = False
        If offsetX > 0 Then
            Set targetCl = targetCl.Offset(1, 0)
        ElseIf offsetX < 0 Then
            Set targetCl = targetCl.Offset(-1, 0)
        End If
        If offsetY > 0 Then
            Set targetCl = targetCl.Offset(0, 1)
        ElseIf offsetY < 0 Then
            Set targetCl = targetCl.Offset(0, -1)
        End If
    Loop
    Set offsetVisible = targetCl
End Function

PHP、HTML埋め込みif文とfor...each文

HTML埋め込みif文(PHP)

<?php if ($hoge == 'あ'): ?>
    <span>あです</span>
<?php elseif($hoge == 'い'): ?>
    <span>いです</span>
<?php else: ?>
    <span>あでもいでもない</span>
<?php endif; ?>


HTML埋め込みforeach文(PHP)

<?php foreach ( $data as $rec) : ?>
    <li>
        <?php echo $rec; ?>
    </li>
<?php endforeach; ?>

2014年3月6日木曜日

エクセル数式で自分自身のセルを参照する方法


=OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0, 1)

該当セルの右隣りのセルを返す

R1C1参照形式ならもっと簡単

=OFFSET(RC,0,1)
または
=RC[1]


R1C1参照形式に変更するには


条件書式の条件指定で他のセルの値を参照するときにとても便利
例えば累計計算時、値がなければ累計を表示したくないときは、条件書式で下記のような設定して、条件に満たす場合、文字色を白くすることで見えなくするなど。

mysqlの日付の比較メソッド,datediffとperiod_diff


select abs(datediff('2013-01-01','2014-01-01'));
#365
select period_diff(date_format('2014-03-06', '%Y%m'), date_format('2012-03-06', '%Y%m')) as month;
#24

mysqldump コマンド常用パターン

引用元(LAYER8):
mysqldumpで複数テーブルもしくは特定のテーブルなど条件指定でレコードを出力する方法



特定のテーブル(複数可)のレコードのみをdumpする場合(テーブル作成情報を書き込まない)
$ mysqldump -u ユーザ名 -p -t データベース名 テーブル1 テーブル2...> ファイル名

データベース全体のレコードのみをdumpする場合(テーブル作成情報を書き込まない)
$ mysqldump -u ユーザ名 -p -t データベース名 > ファイル名

データベース全体のテーブル構造のみをダンプする場合(レコード情報を一切書き込まない)
$ mysqldump -u ユーザ名 -p -d データベース名 > ファイル名

一定の条件を満たすレコードのみdumpする
$ mysqldump -u ユーザ名 -p -t "--where=カラム名='文字列'" データベース名 テーブル名 > ファイル名
$ mysqldump -u ユーザ名 -p -t "-wカラム名>数値" データベース名 テーブル名 > ファイル名