2017-03-10 9 views
1

を見つけていない私はTIMEタイプ(*日付データ型の値を挿入しようと、どこで、この表に挿入時間 - 機能「PARSEDATETIMEは」

-- table T_TIME_LAPSE H2 Database Engine 
CREATE TABLE IF NOT EXISTS t_time_lapse (
     id   bigint PRIMARY KEY, 
     name  varchar(50) NOT NULL, 
     description varchar(200) NOT NULL, 
     sunday  boolean DEFAULT NULL, 
     monday  boolean DEFAULT NULL, 
     tuesday  boolean DEFAULT NULL, 
     wednesday boolean DEFAULT NULL, 
     thursday boolean DEFAULT NULL, 
     friday  boolean DEFAULT NULL, 
     saturday boolean DEFAULT NULL, 
     init_period date NOT NULL , 
     end_period date NOT NULL , 
     init_time time DEFAULT NULL, 
     end_time time DEFAULT NULL, 
     company_id bigint DEFAULT NULL, 
); 

を持っているフォーマットはYYYY-MM-DDです。 .Mapがjava.sql.Dateにマップされ、時刻が00:00:00に設定されている(または、夏時間の変更により、指定された日付と時間帯の真夜中が存在しない場合は次の時刻に)。

-- table  t_time_lapse 
insert into T_TIME_LAPSE (ID, NAME, DESCRIPTION, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY, INIT_PERIOD, END_PERIOD, INIT_TIME, END_TIME, COMPANY_ID) 
    values (1777,'key', 'key', 1,1,1,1,1,1,1,CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, PARSEDATETIME('12:22','HH:mm'), PARSEDATETIME('16:22','HH:mm'), 1); 

このエラーが発生しました。

あなたはあなたの構文に誤りがあります

答えて

0

は、あなたがそれをH2とあなたの日付がどうあるべきかの構文をチェックし、クエリ

PARSEDATETIME('16:22', 'HH:MM'), 1) 
//---------------------^-----^ 

''を欠場parsedatetime

ので、あなたのクエリは次のように終了する必要があります:

..., PARSEDATETIME('12:22', 'HH:mm'), PARSEDATETIME('16:22', 'HH:mm'), 1));