2017-01-30 4 views
-2

テーブルの 'HORAINICIAL'列に時間(FORMAT 24)を保存する必要があります。私はYYYY/MM/DDを望んでいません。MySQL - >時間と分だけのテーブルを作成する

CREATE TABLE IF NOT EXISTS `claritytractor`.`turno` (
    `IDTURNO` INT(11) NOT NULL AUTO_INCREMENT, 
    `NOMBRE` VARCHAR(150) NULL DEFAULT NULL, 
    `CANTIDADHORAS` INT(11) NULL DEFAULT NULL, 
    `HORAINICIAL` DATE NULL DEFAULT NULL, 
    `COLACION` INT(11) NULL DEFAULT NULL, 
    `FECHAMODIFICACION` DATETIME NULL DEFAULT NULL, 
    `STATUS` INT(11) NULL DEFAULT NULL, 
    PRIMARY KEY (`IDTURNO`)) 
ENGINE = InnoDB 
DEFAULT CHARACTER SET = latin1; 

これは私のINSERTです:あなたは完全な日付を格納していない場合は、値を格納するために単純なデータ型を使用し、中にその途中で値を変更することが最善である

INSERT INTO `claritytractor`.`turno` (`NOMBRE`, `CANTIDADHORAS`, `HORAINICIAL`, `COLACION`, `FECHAMODIFICACION`, `STATUS`) VALUES ('Normal', 8, '08:00:00', '1', '2016-12-20', '0'); 

答えて

1

とでる。

INTとして代わりにDATE自分フィールドHORAINICIALを定義し、直接時間数(例えば8)のいずれかを使用する、または単に時間にDATE値を変換するHOUR()を使用します。時間を抽出するとき、必要に応じてソース日付を与えられたタイムスタンプに変換することができます。

HOUR()コマンドの詳細については、thisを参照してください。

+0

「15:30:00」を保存する必要があります。時間を使用すると「15」しか保存されません。 –

+0

あなたの質問の文言に基づいて答えました。これは「私はほんの数時間を節約する必要がある」と答えました。その場合は、任意の日付を使用するだけで十分です。同様の日時コマンドを使用して、残りの日付を途中で取り除くことができます。 –

+0

私はその後、私が使用し、FLOATのようにそれを入力: **時間('15:30:00 ')+(分('15:30:00')/ 60)それは15.5 –

関連する問題