使用php从mysql中选择年份只有日期格式

时间:2013-01-31 16:54:55

标签: php mysql

嘿伙计们我正在尝试从mysql中选择一个日期,格式是日期(“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 个答案:

答案 0 :(得分:1)

如果该字段的最后4位是您可以执行的年份:

RIGHT(FIELDNAME, 4)

答案 1 :(得分:1)

我假设您有一个名为my_date的字段,该字段是日期(或日期时间),那么您可以这样做:

SELECT year(my_date) AS my_year FROM my_table;

答案 2 :(得分:1)

试试这个(未经测试):

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

这应该适合您的日期存储为varchar

答案 3 :(得分:0)

您可以使用"SELECT RIGHT('name_of_date_column_that_is_varchar', 4) FROM table_name"

这将为你提供正确的4个字段,因此也就是你想要的年份。