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 回答