简体   繁体   English

比较mysql中存储在varchar中的日期

[英]compare date stored in varchar in mysql

I am getting one issue, I am trying to fetch all records whose date is less than current date, but problem is date stored in 15-Nov-13 formate(in varchar(20)) 我收到一个问题,我正在尝试获取日期小于当前日期的所有记录,但问题是存储在15-Nov-13格式中的日期(在varchar(20)中)

now how to compare it? 现在该怎么比较呢?

I tried 我试过了

SELECT date_format( str_to_date( `ENDdatetime` , '%d/%M/%y' ) , '%Y%m' ) , `CLIENT_PROMO_ID`
FROM `tb_um_promo_schedule`
ORDER BY `CLIENT_PROMO_ID` DESC
LIMIT 0 , 30

but it returns NULL, 但它返回NULL,

so what to do here? 那怎么办?

The format you gave in your question ( 15-Nov-13 ) does not match the format you are trying to convert in this: 您在问题中提供的格式( 15-Nov-13 )与您尝试转换的格式不符:

'%d/%M/%y'

Should it not be 不应该

'%d-%M-%y'

instead? 代替?

SELECT date_format( str_to_date( `ENDdatetime` , '%d-%M-%y' ) , '%Y%m' ) , `CLIENT_PROMO_ID`
FROM `tb_um_promo_schedule`
ORDER BY `CLIENT_PROMO_ID` DESC
LIMIT 0 , 30

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM