见下表, 在此日期列类型中,varchar不是日期。
|---------------------|
|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之间的名称
答案 0 :(得分:3)
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')
答案 1 :(得分:2)
和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')
答案 2 :(得分:0)
可能会帮助你:)
query ='从tableName中选择*,其中"'之间的日期+ gt +'"和"' + gt1 +'" &#39 ;;
答案 3 :(得分:-1)
您需要使用mysql STR_TO_DATE函数
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date
String query = "select name from table
where
table.date > STR_TO_DATE(gt, '%d/%m/%y')
AND
table.date < STR_TO_DATE(gt1, '%d/%m/%y')";