0

こんにちは、mysql から日付を選択しようとしていますが、形式は date("F j, Y"); です。しかし、日付の年を選択しているだけで、フィールドは varchar タイプで、php は次のとおりです。

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


$select_grades_deped = "SELECT * 
                        FROM deped_grade_archive 
                        WHERE school_id='$school_id'
                        AND section_id='$section_id'
                        AND 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);

そしてそれは0を返します.mysqlからのみ年を選択する方法はありますか?. 私は日付の選択に慣れていないので、助けてください.mysqlは非推奨であり、このプロジェクトの後にmysqliに切り替える予定であることを知っているので、助けてください. 事前に tnx https://stackoverflow.com/posts/19491573/edit

4

4 に答える 4

1

フィールドの下 4 桁が年である場合は、次のようにします。

RIGHT(FIELDNAME, 4)
于 2013-01-31T16:58:54.587 に答える
1

my_date というフィールドがあり、そのフィールドが日付 (または日時) であると仮定すると、次のことができます。

SELECT year(my_date) AS my_year FROM my_table;
于 2013-01-31T16:58:58.747 に答える
1

これを試してください(テストされていません):

WHERE STR_TO_DATE(submission_date ,'%Y') = 2013

これは、varchar として格納されている日付に対応する必要があります。

于 2013-01-31T17:02:24.130 に答える
0

あなたが使用することができます"SELECT RIGHT('name_of_date_column_that_is_varchar', 4) FROM table_name"

これにより、フィールドの正しい 4 文字が得られるため、必要な年が得られます。

于 2013-01-31T16:59:56.067 に答える