おすすめ本

最近のトラックバック

  • event (夢茶爺&苦茶爺のPC奮戦備忘録)

AccRanking

Ad

« 2020年3月 | メイン | 2020年5月 »

2020年4月

2020年4月28日 (火)

【MySQL】カラムの中のカンマ区切りのコードチェックは FIND_IN_SET 関数を使用する

コードがカンマで連結して格納されているカラムに、指定するコードが存在するかをチェックするには FIND_IN_SET 関数が便利です。関数の使用方法は以下となります。

FIND_IN_SET(str, strlist)
 戻り値:strlist 中の文字列の存在する順番を 1 ~ N で返す。
     見つからない場合は「0」を返す。
 str:検索文字列
 strlist:検索対象のカンマ区切り文字列

実際の例を以下に示します。

最初のSELECT文では文字列 '20' の位置である「2」が返されますが、 コードの存在しない場合には「0」が返されます。

また、この FIND_IN_SET 関数を WHERE 句で使うことができます。
以下の様なテーブルを仮に作成しました。

このテーブルの「COL1」に対してコード「20」を持つ行を選択してみます。


2020年4月 9日 (木)

【PHP】json_decode ではまったこと(要素名はダブルクォートで囲む)

json_decode を使っていた時に JSON としては問題無いのではと思っていたものが、 結果として NULL が返ってきていました。

PHP のソースとしては以下の様な感じです。

test.json の内容は以下です。

データの見た目は特に問題無い様なのですが、上手くいかなかったので PHP のマニュアルにあたってみると、 要素名はダブルクォートで囲まないと json_decode の結果が NULL で返ることが載っていました。 早速、要素名をダブルクォートで囲んでみました。 json_decode の結果として records の配列が返ってきました。

やはり何かおかしい動きが在ったら先ず正式なドキュメントを見ることですね。 (私自身の戒めですが)
楽天市場