MySQL

データベース

久しぶりのMySQLです

今日は、MySQLで久しぶりにはまりました。

 

そもそも、最近は自分でSQLを組む機会が減っていたので、

ほぼ忘れかけています。

 

ということで、

自分用の備忘録として今日やった事をブログに残しておきます。

 

やっていたとことと言えば、

金額(整数部分)と金額(小数部分)のカラムを分けているシステムがあるのですが、

二つの項目を結合して、かつ単位(万円)を付けた項目を作成する事です。

 

例えば「9.2万円」や「5.0万円」みたいな感じです。

 

金額(整数部分)は「price_int」、金額(小数部分)は「price_dec」というカラム名なので、

「price」というカラムを追加して、

そのカラムに結合した値を入れてやることに。

 

で、実行したSQLは
======================================================================
update main_db set price=CONCAT(price_int, '.', price_dec, '万円')
======================================================================
です。

 

ただ、ここで問題が。

 

この金額項目は必須項目ではなく、NULLも禁止にしているので、

「price_dec」や「price_int」に何も値が入っていないレコードありました。

 

なので、

「9.万円」や「5.万円」のようなおかしな値がちらほらと混ざっていました。

 

NULLが入っていればIFNULLが使えるので、
======================================================================
update main_db set price=CONCAT(IFNULL(price_int,0),'.',IFNULL(price_dec,0),'万円')
======================================================================
とすれば、

NULLの場合には「0」に置き換えてくれるのですが、

それもかなわず。。。

 

で、仕方ないので、

CASTで無理やりテキスト型を整数型に変換して実行してやることに。
======================================================================
update main_db set price=CONCAT(CAST(price_int as SIGNED), '.', CAST(price_dec as SIGNED ), '万円')
======================================================================

CAST(カラム名 as SIGNED)とすれば、

テキスト項目を数値型に変換してくれるので、

項目が空白の場合には「0」を勝手に入れてくれます。

 

取り敢えず、

こんな無理やりな方法で解決です。

 

本来はPHPで
======================================================================
echo 金額(整数部分) . "." . 金額(小数部分) . "万円";
======================================================================
とすれば表示側で解決する話なんですが、

いろいろ訳あってこんな面倒な事をしていました。

弊社では、以下の方に向けて、WordPressの短期学習プログラムを
格安で提供しております。

  • 個人でWordPressを使ったサイト構築をお考えの方
  • 自社でホームページの構築・運用をお考えの方
  • 企業のWEB担当者の方

内容

基本的には、初心者の方を対象にした学習プログラムです。

※ WordPress制作の上級者の方の場合、弊社の学習プログラムはあまり役に立たないと考えています。

  • ・ WordPressのインストールからセッティングの方法
  • ・ WordPressのテーマ選びについて
  • ・ WordPressのプラグイン選びと設定方法について
  • ・ サーバの準備方法
  • ・ ドメインの取得・管理の方法
  • ・ FTPの設定方法
  • など

ご用意頂くもの

  • ・ ノートPC
    ※ 弊社はWindowsを業務で利用しておりますので、できればWindowsのPCをおすすめしています。
  • WordPressでサイトの制作を考えているが、何から始めればいいのか分からない。
  • ドメインやサーバはどうやって準備すればいいの?
  • そもそもホームページの公開には何が必要なの?

などなど、

どのような内容でも構いませんので、お気軽にお問い合わせ下さい。

お客様の目的をお聞きした上で、最適の学習プランを提案致します。

ご興味のある方は、以下の内容を記載の上、一度お問い合わせ下さい。
こちらより、折り返しメールを致します。

  • ① お名前
  • ② 折り返し先のメールアドレス
  • ③ 希望の学習内容

関連記事

  1. MySQL

    サーバ

    お名前.comのVPSサーバ(KVM)にデータベース(MySQL)をインストール

    PHPのインストールまで完了したので、データベース(今回はMySQ…

  2. MySQL
  3. MySQL

    PHP

    MyISAMではロールバック(rollback)が出来ない!!

     データベースでデータの管理を行う際に、データの整合性を保つために…

  4. データベース

    データベース

    PostgreSQLをインストール

    PostgreSQLのインストールを開始案件でPost…

  5. MySQL

    データベース

    オーバーヘッド!!

    弊社テスト環境のphpMyAdminの画面をなんとなく眺めていると、…

  6. MySQL

    データベース

    MySQL テーブルのカラムの位置を変更

    本日は弊社の社内システムで使用しているデータベース(MySQL)の整理…

最近の記事

  1. WordPress(WP)
  2. 404 Not Found
  3. WordPress(WP)
  4. WordPress(WP)
  5. PHP
  6. PHP
  7. 風邪予防
  8. WordPress(WP)
  9. PHP
  10. 宅建
PAGE TOP