Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在mysql中获取两个日期之间的记录_Java_Mysql_Sql - Fatal编程技术网

Java 在mysql中获取两个日期之间的记录

Java 在mysql中获取两个日期之间的记录,java,mysql,sql,Java,Mysql,Sql,见下表, 在此日期列中,类型为varchar而不是date |---------------------| |date | name | |---------------------| |23-5-2005 | babi | |20-6-2005 | ram | |12-5-2005 | jhon |

见下表, 在此日期列中,类型为varchar而不是date

           |---------------------|
           |date       |   name  |
           |---------------------|
           |23-5-2005  | babi    |
           |20-6-2005  | ram     |
           |12-5-2005  | jhon    |
           |1-5-2004   | babi    |
           |23-5-2005  | guru    |
我知道我想要两次约会之间的记录

String gt = "12-5-2005";
String gt1 = "20-6-2005";
String query = ??;

如何编写查询以获取字符串gt和gt1之间的名称,日期介于和str_to_Date之间

感谢@John Ruddell提供的str_to_date语法:

SELECT
  name,
  date
FROM table
WHERE STR_TO_DATE(`date`, '%d-%m-%Y') BETWEEN STR_TO_DATE("12-05-2005", '%d/%m/%Y') AND STR_TO_DATE("20-06-2005", '%d/%m/%Y')

日期介于和str_to_Date之间

感谢@John Ruddell提供的str_to_date语法:

SELECT
  name,
  date
FROM table
WHERE STR_TO_DATE(`date`, '%d-%m-%Y') BETWEEN STR_TO_DATE("12-05-2005", '%d/%m/%Y') AND STR_TO_DATE("20-06-2005", '%d/%m/%Y')

您需要使用mysql STR_to_DATE函数


您需要使用mysql STR_to_DATE函数


也许它会帮助你:


query='select*from tableName,其中日期介于'+gt+'和'+gt1+''之间

可能会对您有所帮助:


query='select*from tableName,其中日期介于'+gt+'和'+gt1+''之间

SQL部分的工作方式如下所示

SELECT *
FROM 
    StackOverflow.`Table`
 WHERE STR_TO_DATE(`date`, '%d-%m-%Y') BETWEEN 
    STR_TO_DATE('12-5-2005', '%d-%m-%Y') AND STR_TO_DATE('20-6-2005', '%d-%m-%Y')

SQL部分的工作方式如下所示

SELECT *
FROM 
    StackOverflow.`Table`
 WHERE STR_TO_DATE(`date`, '%d-%m-%Y') BETWEEN 
    STR_TO_DATE('12-5-2005', '%d-%m-%Y') AND STR_TO_DATE('20-6-2005', '%d-%m-%Y')


您想在此处使用str_to_date您的_date_,'%d/%m/%Y'这将把varchar强制转换为一个日期,以便您可以查询它。您的查询将是SELECT date,名称来自tbl,其中日期介于第一个日期和最后一个日期之间。。很高兴我能帮你。你想在这里使用str_来确定你的日期,'%d/%m/%Y'这将把varchar强制转换为日期,这样你就可以进行查询了。您的查询将是SELECT date,名称来自tbl,其中日期介于第一个日期和最后一个日期之间。。很高兴我能帮上忙。不过我不喜欢硬编码约会,所以我想我应该发表评论,让OP想出一个方法来作为一个整体来完成约会variable@JohnRuddell,通常日期是专门设定的。OP想要两次约会之间的时间我知道。。我的意思是我不想在里面写日期,但让他知道如何把变量放进去。aka gt和gt1必须让他们弄明白一些东西,因为这有助于他们更好地学习:@paqogomez it给出空集,并警告“截断错误的日期值”12-5-2005“你需要你的月份为两个字符aka“12-05-2005”:尽管我不喜欢硬编码日期,所以我想我只需要发表评论,让OP想出一个方法来作为一个团队来进行约会variable@JohnRuddell,通常日期是专门设定的。OP想要两次约会之间的时间我知道。。我的意思是我不想在里面写日期,但让他知道如何把变量放进去。又名gt和gt1必须让他们弄明白一些东西,因为这有助于他们更好地学习:@paqogomez it给出空集,并警告“截断的日期值不正确”12-5-2005“您需要您的月份为两个字符又名“12-05-2005”,gt和gt1不在引号中吗?这里没有括号。。。还有,你的父母不匹配你缺少一个gt和gt1不是在引号里吗?这里没有括号。。。如果你没有注意到OP说日期是varchar而不是datetime,那么这将不起作用。这也是java不是php,所以它不会是$QUERY如果你没有注意到OP说日期是varchar而不是datetime,那么这将不起作用。这也是java不是php,所以它不会是$QUERY这不是一个很好的回答!你记下了列名,我记下了+回答得好!你记下了列名,我记下了+1.