Skip to content

Instantly share code, notes, and snippets.

View mcloide's full-sized avatar

Cristiano Diniz da Silva mcloide

View GitHub Profile
@mcloide
mcloide / caribbean.sql
Last active March 22, 2016 02:09
Caribbean DB Structure
-- MySQL dump 10.13 Distrib 5.6.28, for Linux (x86_64)
--
-- Host: localhost Database: caribbean
-- ------------------------------------------------------
-- Server version 5.6.28
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
@mcloide
mcloide / gist:1dec58a100b47da7c8ad
Created March 22, 2016 02:27
caribeean_table_data
+----+---------------------+---------------+------------+--------------+---------+----+---------------------+---------------------+------------+---------------------+---------------------+
| id | created_date | modified_date | start_date | fname | lname | id | created_date | modified_date | piratee_id | ship_in | ship_out |
+----+---------------------+---------------+------------+--------------+---------+----+---------------------+---------------------+------------+---------------------+---------------------+
| 1 | 0000-00-00 00:00:00 | NULL | 0000-00-00 | Captain Jack | Sparrow | 1 | 2016-03-22 01:14:53 | 2016-03-22 01:14:53 | 1 | 0000-00-00 00:00:00 | 2016-03-22 01:14:53 |
| 1 | 0000-00-00 00:00:00 | NULL | 0000-00-00 | Captain Jack | Sparrow | 2 | 2016-03-22 01:15:07 | 2016-03-22 01:15:07 | 1 | 2016-03-22 01:15:07 | 2016-03-22 01:15:07 |
| 2 | 0000-00-00 00:00:00 | NULL | 0000-00-00 | Captain | Barbos
select * -- please don't ever do *
from piratees p
join (
select p1.id, min(ps.ship_in) as ship_in
from piratees p1
join piratee_login ps on ps.piratee_id = p1.id
where ps.ship_in is not null
and ps.ship_in != '0000-00-00 00:00:00'
group by p1.id
) as ps
+----+---------------------+---------------+------------+--------------+---------+----+---------------------+
| id | created_date | modified_date | start_date | fname | lname | id | ship_in |
+----+---------------------+---------------+------------+--------------+---------+----+---------------------+
| 1 | 0000-00-00 00:00:00 | NULL | 0000-00-00 | Captain Jack | Sparrow | 1 | 2016-03-22 01:15:07 |
| 2 | 0000-00-00 00:00:00 | NULL | 0000-00-00 | Captain | Barbosa | 2 | 2016-03-22 01:15:17 |
+----+---------------------+---------------+------------+--------------+---------+----+---------------------+
2 rows in set, 1 warning (0.00 sec)
update piratees p
join (
select p1.id, min(ps.ship_in) as ship_in
from piratees p1
join piratee_login ps on ps.piratee_id = p1.id
where ps.ship_in is not null
and ps.ship_in != '0000-00-00 00:00:00'
group by p1.id
@mcloide
mcloide / gist:2120477b045a7574db7b
Created March 22, 2016 02:44
new-update-piratees
update piratees p
join (
select p1.id, min(ps.ship_in) as ship_in
from piratees p1
join piratee_login ps on ps.piratee_id = p1.id
where ps.ship_in is not null
and ps.ship_in > '1970-01-01 00:00:01'
group by p1.id
) as ps
on ps.id = p.id
@mcloide
mcloide / comparison.php
Last active April 11, 2016 16:13
PHP Datetime comparison unexpected behavior
<?php
foreach (['EST', 'EDT', 'CST', 'CDT', 'PST', 'PDT'] as $tz) {
echo "---- TZ: $tz ---- \n";
$now = new DateTime('@' . (new DateTime('11:30 AM EST'))->getTimeStamp());
$earlier = new DateTime('7 AM', new DateTimeZone($tz));
echo $now->format('r') . "\n";
echo $earlier->format('r') . "\n";