タグ

ブックマーク / www.softel.co.jp (2)

  • 【MySQL】SQL内で文字列を16進表現する at softelメモ

    問題 こんなとき データが文字化けしていて、うまくwhere句で抽出できない。 クライアント側の事情でマルチバイト文字を含むSQLが思ったように発行できない。 BLOB型カラムに入っているバイナリにマッチさせたい。 バイナリを登録したい。 答え MySQLだと「0x~~」形式で、文字列の16進表現が使える。 SELECT * FROM T WHERE name = 0xEFBCB3EFBCB4303030343030; /* 'ST000400'(全角含む) */ SELECT * FROM T WHERE name = 0xE38182E38184E38186E38188E3818A; /* 'あいうえお' */ SELECT * FROM T WHERE name = 0x82A082A282A482A682A8; /* sjisの'あいうえお' */ UPDATE T SET nam

    【MySQL】SQL内で文字列を16進表現する at softelメモ
    imanaka99
    imanaka99 2018/12/20
  • 【SQL】複数の条件のcountを1回のクエリでおこなう at softelメモ

    問題 こんなテーブル a があります。 create table a (id int, flag int); こんなふうにデータを入れて、 insert into a (id, flag) values (1, 1), (2, 1), (3, 0), (4, 0), (5, 1); こんなふうになっているとします。 select * from a; +----+------+ | id | flag | +----+------+ | 1 | 1 | | 2 | 1 | | 3 | 0 | | 4 | 0 | | 5 | 1 | +----+------+ なるべく単純な1つのSQLで、すべてのレコード数と、flag=1のレコード数と、flag=0のレコード数を取得せよ。 なお、サブクエリは使わないこと。 ヒント 集計を3つしたいので、こうなる? select count(????), c

    【SQL】複数の条件のcountを1回のクエリでおこなう at softelメモ
  • 1