在“文本”字段中选择日期范围

时间:2015-10-16 07:05:20

标签: mysql sql

   Date

    9/25/2015
    9/26/2015
    9/27/2015
    9/28/2015
    9/29/2015
    9/30/2015
    10/1/2015
    10/2/2015
    10/3/2015
    10/4/2015
    10/5/2015

任何人都可以帮助我使用MySQL。我只想选择从9/28/201510/4/2015的日期。

请注意,此日期位于文本字段中。

谢谢。

6 个答案:

答案 0 :(得分:3)

您可以使用STR_TO_DATE(yourdatefield, '%m/%d/%Y')将文本转换为日期,稍后您可以使用between子句来限制输出数据。

答案 1 :(得分:0)

您可以尝试这样:

WHERE `Date` BETWEEN CAST('9/28/2015' AS DATE) AND CAST('10/4/2015' AS DATE)

WHERE STR_TO_DATE(`Date`, '%m/%d/%Y') BETWEEN STR_TO_DATE('9/28/2015', '%m/%d/%Y') AND STR_TO_DATE('10/4/2015', '%m/%d/%Y')

DEMO

还要尽量避免将日期存储为文本。而是使用Date数据类型来存储日期。

答案 2 :(得分:0)

使用CONVERT首先转换日期,然后在BETWEEN子句中使用WHERE

试试这个..

    SELECT * FROM TableName 
    WHERE Date BETWEEN CONVERT(DATE,'9/28/2015') AND CONVERT(DATE,'10/4/2015')

答案 3 :(得分:0)

试试这个,在where子句中使用函数str_to_date

 //below is the problematic part
    if(data.get("url")!=null){
  ((ImageView) vi.findViewById(R.id.my_image)).setVisibility(View.VISIBLE);
        setImageWithUrl(data.get("url").toString(), (ImageView) vi.findViewById(R.id.my_image));//setImageWithUrl is a function containing my extra operations
    }else{
        ((ImageView) vi.findViewById(R.id.my_image)).setVisibility(View.GONE);//hide the image as it has a border but no content
    }

答案 4 :(得分:0)

我有相同类型的问题,但在我的情况下,存储的日期也包含时间(也在文本字段中,例如2017-09-11 05:07:58 PM)。这是一个wordpress网站,但我想直接查询数据库,日期是meta_value。 为了完成这项工作,我结束了使用日期的子字符串,我发布这个以防它帮助某人:

module(module_name)

答案 5 :(得分:-1)

在之间使用,您可以在此处阅读更多内容:

Select data from date range between two dates

问题是dublicate