SQL

トランザクション処理の流れ

SQL

トランザクション 小さな処理をひとまとめに考えて、 どれか1つの処理でも正常に処理されなかった場合に 全ての処理を無かったことにするという概念現金自動引き落とし機の場合 「現金を支払う」という処理のほかに「残高を支払った分だけ引く」 という処理…

SQLの時間の扱いかたの基礎

SQL

レコードを追加する際に INSERT INTO 商品テーブル (商品コード,商品名,登録日時) VALUES(1,test,NOW());とし時間をNOW()で入れた場合、 SELECT 商品名,EXTRACT(EPOCH FROM 登録日時) AS 登録日時 FROM 商品テーブル WHERE 商品コード = 1;

SQLでidの最大をとる方法

SQL

掲示板などで、よく使うこと INSERT文で現在のテーブルの最大値を取ってくる方法 1.SELECT MAX(id) as id FROM テーブル名 2.SELECT id as id FROM テーブル名 order by desc limit 1MAXを使った場合レコードが1件も無い場合はNULLになる。 NULLが帰っ…

同一のカラムに複数条件を使うPropel

SQL

SQLで SELECT * FROM product WHERE created_at >= "2009-10-01" AND created_at <= "2009-10-31"これをpropelに置き換えると、 $c = new Criteria(); $c->add(productPeer::CREATED_AT, ”2009-10-01”, Criteria::GREATER_EQUAL); $c->addAnd(productPeer::C…

CREATE VIEWの活用方法

SQL

ほしい情報が別々テーブルにあって引っ張ってくるのが面倒なときには、CREATE VIEWをかつようするとよい。 CODE NAME PRICE ------ ---------- ---------- ① 101 aaa 1000 102 bbb 1500 NO CODE KOSUU ------ ---------- ---------- ② 1 101 20 2 102 10①と②…

SQLをプロぺルに変換

SQL

select extract( epoch FROM ( SUM(COALESCE((apply_end_time - apply_start_time),'00:00'::interval) - COALESCE(rest_time::interval, '00:00'::interval) - COALESCE(over_rest_time::interval,'00:00' ::interval) )))* interval '1 second' FROM trn_w…

時間計算2

SQL

◆actionで修正 public function getWorkTime($format = 'Y-m-d H:i:s') { $start = $this->apply_start_time;//出勤時間 $end = $this->apply_end_time;//退勤時間 $sum = $end - $start; $sum2 = gdate($format, $sum); $res = $this->rest_time; //休憩時…

SQL

SQL

◆ID10が当てはまるものすべて出力 SELECT COALESCE ((apply_end_time - apply_start_time)::time,'00:00'::time) - rest_time - COALESCE(over_rest_time,'00:00'::time) as work_time FROM trn_work_time WHERE user_id=10;★サブクエリにして合計を算出出力…