我有一个string列,它充当date,我想选择它作为date

可以吗?

我的示例数据格式为; month/day/year-> 12/31/2011

#1 楼

如MySQL所述,使用带有日期文本的字符串列作为日期字段,您可以执行

SELECT  STR_TO_DATE(yourdatefield, '%m/%d/%Y')
FROM    yourtable


还可以在WHERE子句中处理这些日期字符串。例如,

SELECT whatever
  FROM yourtable
 WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAY


您可以通过这种方式处理各种日期/时间布局。请参阅DATE_FORMAT()函数的格式说明符,以了解可以在STR_TO_DATE()的第二个参数中添加什么内容。

评论


我认为应该是INTERVAL 7 DAY,而不是DAYS

– Feras Odeh
16年2月8日在18:14

我有一个类似“ dd-mmm-yyyy”格式的字符列。如何查询“ dd-mm-yyyy”格式?

– MAX
17年5月2日在14:38

#2 楼

STR_TO_DATE('12/31/2011', '%m/%d/%Y')


评论


什么是日期以DD / MM / YYYY格式存储(例如31/11/1015)?

– Vipul Hadiya
16年5月26日在11:50

@VipulHadiya将日期格式字符串更改为%d /%m /%Y,就像STR_TO_DATE('31 / 11/1015','%d /%m /%Y')一样,请记住输出将为YYYY-MM -DD格式作为DATE数据类型。

– B
16年8月4日在5:58

仅代码的答案在StackOverflow上是低价值的。请改善此正确答案。

– mickmackusa
18年6月29日在3:53

#3 楼

http://dev.mysql.com/doc/refman/5.5/zh-CN/date-and-time-functions.html
使用上一页可参考更多MySQL中的函数

SELECT  STR_TO_DATE(StringColumn, '%d-%b-%y')
FROM    table
例如,使用以下查询获取输出

SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table


对于字符串格式,请使用以下链接

http://dev.mysql.com/doc/refman/5.5/zh-CN/date-and-time-functions.html#function_date-format

#4 楼

这是另外两个示例。

要输出日,月和年,可以使用:

select STR_TO_DATE('14/02/2015', '%d/%m/%Y');


产生的结果:


2015-02-14


要输出时间,还可以使用:

select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T');


哪个生产的:


2017-02-14 23:38:12


#5 楼

下面说明了STR_TO_DATE()函数的语法:
STR_TO_DATE(str,fmt);

STR_TO_DATE()根据fmt格式字符串将str字符串转换为日期值。 STR_TO_DATE()函数可以根据输入和格式字符串返回DATE,TIME或DATETIME值。如果输入字符串不合法,则STR_TO_DATE()函数将返回NULL。
以下语句将字符串转换为DATE值。
SELECT STR_TO_DATE('21,5,2013','%d,%m,%Y');


基于格式字符串'%d ,%m,%Y',则STR_TO_DATE()函数将扫描'21,5,2013'输入字符串。

首先,它尝试找到%d格式说明符的匹配项,
是输入字符串中的月份中的一天(01…31)。因为
数字21与%d指定符匹配,所以该函数将21作为
day值。与输入字符串中的逗号匹配,函数继续
检查第二个格式说明符%m,这是一个月(01…12),并且
发现数字5与%m匹配格式说明符。它
将数字5用作月份值。
第三,在匹配第二个逗号(,)之后,STR_TO_DATE()
函数会继续查找第三种格式说明符%Y的匹配项,
/>,它是四位数的年份,例如2012、2013等,它以
2013作为年份值。基于格式字符串解析输入字符串时的输入字符串。请参见以下示例:
SELECT STR_TO_DATE('21,5,2013 extra characters','%d,%m,%Y');


更多详细信息:参考