Mysql 从数据库获取datetime字段

Mysql 从数据库获取datetime字段,mysql,Mysql,我有一个罕见的问题。 我使用此查询提取日期和时间 $datum_query = mysqli_query($kon, "SELECT EXTRACT(DAY FROM datetime) AS dan, EXTRACT(MONTH FROM datetime) AS mjesec, EXTRACT(YEAR FROM datetime) AS godina, EXTRACT(HOUR FROM datetime) AS sat, EXTRACT(MINUTE FROM datetime)

我有一个罕见的问题。 我使用此查询提取日期和时间

$datum_query = mysqli_query($kon, "SELECT EXTRACT(DAY FROM datetime) AS dan, EXTRACT(MONTH FROM datetime) AS mjesec,
    EXTRACT(YEAR FROM datetime) AS godina, EXTRACT(HOUR FROM datetime) AS sat, EXTRACT(MINUTE FROM datetime) AS minute, EXTRACT(SECOND FROM datetime) AS sekunde FROM cutoffs WHERE id=". $redCutoff["cutoff_id"] ."");
    $datum = mysqli_fetch_assoc($datum_query);

    if($datum["mjesec"] == 1){
        $datumLevering = $datum["dan"] . ". Jan " . $datum["godina"];
    }elseif($datum["mjesec"] == 2){
        $datumLevering = $datum["dan"] . ". Feb " . $datum["godina"];
    }elseif($datum["mjesec"] == 3){
        $datumLevering = $datum["dan"] . ". Ma " . $datum["godina"];
    }elseif($datum["mjesec"] == 4){
        $datumLevering = $datum["dan"] . ". Apr " . $datum["godina"];
    }elseif($datum["mjesec"] == 5){
        $datumLevering = $datum["dan"] . ". Mei " . $datum["godina"];
    }elseif($datum["mjesec"] == 6){
        $datumLevering = $datum["dan"] . ". Jun " . $datum["godina"];
    }elseif($datum["mjesec"] == 7){
        $datumLevering = $datum["dan"] . ". Jul " . $datum["godina"];
    }elseif($datum["mjesec"] == 8){
        $datumLevering = $datum["dan"] . ". Aug " . $datum["godina"];
    }elseif($datum["mjesec"] == 9){
        $datumLevering = $datum["dan"] . ". Sep " . $datum["godina"];
    }elseif($datum["mjesec"] == 10){
        $datumLevering = $datum["dan"] . ". Okt " . $datum["godina"];
    }elseif($datum["mjesec"] == 11){
        $datumLevering = $datum["dan"] . ". Nov " . $datum["godina"];
    }else{
        $datumLevering = $datum["dan"] . ". Dec " . $datum["godina"];
    }
    $leveringVrijeme = $datum["sat"] . "u" . $datum["minute"];
    $leveringDateandTime =  $datumLevering . "-" . $leveringVrijeme;
我在数据库中存储了一个datetime字段,当我想要得到结果时,如果该字段的值是例如2015-08-19 20:10:00,我会在$leveringVrijeme(20u10)中得到很好的结果,但是如果该值是例如2015-08-19 20:00:00,那么我会得到$leveringVrijeme(20u0)


为什么我没有得到其他0个?

可以考虑将其转换为字符串文字或<代码> vARCHAR> <代码>使用<代码> CAST >类似

SELECT EXTRACT(DAY FROM datetime) AS dan, 
EXTRACT(MONTH FROM datetime) AS mjesec,
    EXTRACT(YEAR FROM datetime) AS godina, 
    CAST(EXTRACT(HOUR FROM datetime) AS VARCHAR) AS sat, 
    CAST(EXTRACT(MINUTE FROM datetime) AS VARCHAR) AS minute, 
    CAST(EXTRACT(SECOND FROM datetime) AS VARCHAR) AS sekunde 
    FROM cutoffs 
    WHERE id=". $redCutoff["cutoff_id"] ."");

extract
以数字形式返回值。出于格式化目的,您似乎需要零填充字符串。因此,使用
date\u format()
,而不是
extract


这会将它们检索为零填充字符串。

看起来您得到的是一个整数(0)而不是字符串(00)
select date_format(datetime, '%d') as day,
       date_format(datetime, '%m') as mon,
       date_format(datetime, '%Y') as year,
       date_format(datetime, '%H') as hours,
       date_format(datetime, '%i') as minutes,
       date_format(datetime, '%s') as seconds