MySQL

【MySQL】date型とtime型に分けられたカラムを結合する方法

【MySQL】date型とtime型に分けられたカラムを結合する方法

構文

DATE_ADD(date,INTERVAL expr unit)

SQL文(サンプル)

SELECT 
date_add(CAST([TRANSACTIONDATE] AS DATETIME), INTERVAL [TRANSACTIONTIME] HOUR_SECOND)
FROM table;

手順(考え方)

1 date型で定義されたカラムをdatetime型に変換する (2018-01-11 -> 2018-01-11 00:00:00)
1 datetime型に変換したカラム値に、time型のカラムの値を加算する (date_add関数)

unit 値ごとに要求される形式の expr 引数

expr = 文字列 unit = 式を解釈する際の単位を示すキーワード

unit値 要求される expr 書式
MICROSECOND MICROSECONDS
SECOND SECONDS
MINUTE MINUTES
HOUR HOURS
DAY DAYS
WEEK WEEKS
MONTH MONTHS
QUARTER QUARTERS
YEAR YEARS
SECOND_MICROSECOND 'SECONDS.MICROSECONDS'
MINUTE_MICROSECOND 'MINUTES:SECONDS.MICROSECONDS'
MINUTE_SECOND 'MINUTES:SECONDS'
HOUR_MICROSECOND 'HOURS:MINUTES:SECONDS.MICROSECONDS'
HOUR_SECOND 'HOURS:MINUTES:SECONDS'
HOUR_MINUTE 'HOURS:MINUTES'
DAY_MICROSECOND 'DAYS HOURS:MINUTES:SECONDS.MICROSECONDS'
DAY_SECOND 'DAYS HOURS:MINUTES:SECONDS'
DAY_MINUTE 'DAYS HOURS:MINUTES'
DAY_HOUR 'DAYS HOURS'
YEAR_MONTH 'YEARS-MONTHS'