gpt4 book ai didi

c# - 在 MySQL 中搜索日期时间

转载 作者:行者123 更新时间:2023-11-29 05:32:54 24 4
gpt4 key购买 nike

我有一个 MySQL 数据库,有一个表的时间类型列是 Nvachar(50) 并且它的值像这样的“05/09/2012 20:53:40:843" *(月-日-年时:分:秒:毫秒)*

现在我想查询“10/05/2012 01:00:30 PM”之后的记录。在进行查询之前,我在 C# 中有代码将其转换为“05/10/2012 13:00:30”。我的查询:

SELECT * FROM ABCDFEGH WHERE capTime > '05/10/2012 13:00:30' LIMIT 0, 1

但是我没有记录。所以请告诉我怎样才能让它在上述时间之后有时间返回记录???

更多信息我的 C# 代码:

string tableName = "ABCDFEGH";
string date = "05/10/2012 13:00:30";

var query = "SELECT * FROM " + tableName + " WHERE capTime > '" + date + "' LIMIT 0, 1";

var cmd = new MySqlCommand(query, connection);
MySqlDataReader dataReader = null;
try
{
dataReader = cmd.ExecuteReader();
}

我真的很抱歉。我弄错了查询必须是

SELECT * FROM ABCDFEGH WHERE capTime > '05/10/2012 13:00:30' LIMIT 0, 1

查询成功返回我需要的记录:)

但是我怎么把它打错了

SELECT * FROM ABCDFEGH WHERE capTime > '05-10-2012 13:00:30' LIMIT 0, 1

再次抱歉,主题关闭。但是 tks for evveryone tried :)

最佳答案

我建议使用 DATETIME数据类型而不是 NVARCHAR。将日期存储在 YYYY-MM-DD HH:MM:SS 中格式,即 native DATETIME format recognized by MySQL .

也使用相同格式的日期文字。

此推荐的两个原因:第一,DATETIME takes only 8 bytes , 而不是最多 150 个字节,这是多字节 50 个字符 varchar 的潜在大小。

其次,DATETIME 的排序顺序将与时间顺序相同。因此,如果您在 Time 上创建索引专栏,你的>比较可以从索引中受益。因此,您的查询会快得多。

关于c# - 在 MySQL 中搜索日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13262638/

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