c# - MYSQL 获取日期列作为字符串

标签 c# mysql

我不确定我的问题是否有答案! 我有一个带有日期列的 MYSQL 表。我想在 C# 中将其作为字符串而不是 MYSQL 日期时间 但问题是我不知道列名称。如果知道列名称我知道该怎么做

SELECT DATE_FORMAT(X, '%Y/%m/%d') AS  X FROM Y  

但我不知道当我不知道列名称时该怎么办?

最佳答案

我不知道您使用什么 MySql 连接器,但假设它与 ADO 兼容,以下应该可以工作:

string dateString;
using (IDbConnection connection = new MySqlConnection()) {
    connection.ConnectionString = "YOUR STRING";
    connection.Open();
    try {
        using (IDbCommand command = connection.CreateCommand())
        {
            command.CommandText = "SELECT DATE_FORMAT(X, '%Y/%m/%d') AS  X FROM Y";
            using (IDataReader reader = command.ExecuteReader()) {
                dateString = reader.GetString(0);

                // Alternately you can read the data as a DateTime and use
                // .NET's formatting.
                //dateString = reader.GetDateTime(0).ToShortDateString();
            }
        }
    }
    finally {
        connection.Close();
    }
}

编辑:

为了回应您评论中的澄清,请参阅此 question 。您需要查询 information_schema 表并根据表名称和数据类型进行筛选。

关于c# - MYSQL 获取日期列作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261530/

相关文章:

c# - Azure辅助角色无法启动

c# - SortedSet<>.Contains() 如何实现自己的比较?

c# - 如何保存一个值以便稍后返回?

java - 多对多删除集 NULL

php - 插入值数组

mysql - 使用mysql中的过程创建用户

php - MySQL 连接表

c# - 在 C# 中枚举对象的属性(字符串)

c# - 将根 XML 元素反序列化为数组

mysql - 如何在表更新时安排 Mysql 中的事件?