如何解决在mysql中显示特定月份的记录
我正在尝试从数据库中获取特定月份的记录,并且该列的数据模式为“”
我正在使用的查询是
select * from table_name WHERE column_name LIKE ''
9月。但这没有打印结果。
请提出建议。
解决方法
使用直接日期比较!不要将日期当作字符串。像这样:
where column_name >= '2000-09-01' and column_name < '2000-10-01'
或者,如果您希望全部 个月,请提取月份。标准函数为extract()
:
where extract(month from column_name) = 9
或:
where month(column_name) = 9
但是,特定功能取决于数据库(并非所有数据库都支持所有标准功能)。
,以上述答案和评论为基础。似乎您想在C#代码中使用此功能,让用户从下拉列表中选择一个值。一种选择是这样的:
string monthNumber = valueFromDropdown;
string connectionString = "put you connection string here";
string commandText = "select * from table_name "
+ "where month(column_name) = @MonthNumber";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(commandText,connection);
command.Parameters.Add("@MonthNumber",SqlDbType.Int);
command.Parameters["@MonthNumber"].Value = monthNumber;
try
{
connection.Open();
using(SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0},{1}",reader[0],reader[1]));
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。