gpt4 book ai didi

Mysql 之间的查询不工作

转载 作者:行者123 更新时间:2023-11-29 06:50:21 25 4
gpt4 key购买 nike

我正在使用 php 和 mysql。我有一个包含如下数据的表格,

Id  Name  SDate
1 AS 12-11-2017
2 SA 11-11-2017
3 Sw 10-11-2017

每列的数据类型是,

Id int
Name Varchar
SDate Varchar

我选择 2017 年 11 月 10 日至 2017 年 11 月 11 日之间的数据,如下所示,

select * from testtable where sdate between '11-11-2017' and '12-11-2017'

结果为空

但是当我选择如下所示时,

 select * from testtable where sdate='11-11-2017';

结果来了

我无法更改 SDate 列的日期,因为其中有 1000 万条记录

最佳答案

我将在回答前说你绝对应该改变表上的数据类型。我即将向您提供的这个答案将会起作用,但效率非常低,因为每次运行此查询时它都需要转换表中的每条记录。

无论如何,mysql中有一个函数叫做str_to_date( docs )。这样,您可以在查询时将 varchar 转换为日期,因此以下查询就足够了:

select
*
from
testtable
where
str_to_date(sdate, '%d-%m-%Y') between str_to_date('11-11-2017', '%d-%m-%Y') and str_to_date('12-11-2017', '%d-%m-%Y')

关于Mysql 之间的查询不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47751776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com