gpt4 book ai didi

c# - SELECT 过滤器查询中的日期格式

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

我有一个日期类型的字段。我以 dd/mm/yyyy 格式记录数据。
显示得很好啊但是当我尝试在我的选择查询中使用过滤器时,它会返回每一行。我试过这个:

SELECT *
FROM MyTable
WHERE dt_start >= '01/04/2007'

SELECT *
FROM MyTable
WHERE dt_start >= DATE_FORMAT('01/04/2007', "%d/%m/%yyyy")

现在,如果我尝试这个,它会完美地工作:

SELECT *
FROM MyTable
WHERE dt_start >= '2007/04/01'

我知道这是其网站上的标准 MySQL 日期格式。但我想知道实现这一目标的方法。

最佳答案

您想要转换日期的语法如下:

UPDATE [table name] SET [date field name] = STR_TO_DATE('01/04/2007', '%Y-%m-%d')

这会将我们所有的日期转换为标准,就像戈登·利诺夫所说的那样。如果您希望它们在拉出时看起来像最初的日期,那么您可以在查询中使用日期格式:

SELECT DATE_FORMAT([date field], '%m/%d/%Y') AS myDate FROM [table name]

这有道理吗?我也同意戈登的观点,即使用标准格式存储日期更容易。您可以通过这种方式更轻松地操作和比较日期。

编辑

SELECT * FROM [your table] WHERE date >= STR_TO_DATE('01/04/2007', '%m/%d/%Y')

有了这个,您不必更改日期类型,只需将要评估的字符串更改为 where 子句中的日期即可。这是你想要的吗?

关于c# - SELECT 过滤器查询中的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24072052/

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