0

これでPHPを使用してMySQLで年を選択しようとしています:

session_start();
$school_id = $_SESSION['school_id'];
$section_id = $_POST['section_id'];
$today  = date("Y");

$select_grades_deped = "SELECT * 
             FROM deped_grade_archive 
             WHERE school_id='$school_id'
             AND section_id='$section_id'
             AND year(submission_date) ='$today' ";

$query_check_grades= mysql_query($select_grades_deped) or die (mysql_error());

$check_count = mysql_num_rows($query_check_grades);

if($check_count == 0){
    $return['checked'] = "0";
}
else{
    $return['checked'] = "1";
}

echo json_encode($return);

しかし、残念ながら、次のことを試したとき:

SELECT year( submission_date )
FROM deped_grade_archive
WHERE school_id = '$school_id'
AND section_id = '$section_id'

テーブルからゼロの値が返されました。submission_dateのデータ型をデータ型に変更しましたdatevarchar、以前は使用されていませんでした。みんな助けてください。

4

2 に答える 2

1

データ型に変更する際date、列のデフォルト値( などCURRENT_TIMESTAMP)を設定しないと、値は になります0000-00-00。したがって、YEAR操作は次のように戻り0ます。

submission_date各行に指定したい時間に列を更新する必要があります。

于 2013-01-31T17:53:36.347 に答える
0

そのようにしてみてください

           SELECT YEAR('submission_date')

参照

于 2013-01-31T18:22:29.533 に答える