Azure SQL 数据库保存日期

问题描述 投票:0回答:1

这可能是一个非常简单的问题/答案,但我找不到适当的信息或以其他方式误解它。我想在 Azure SQL DB 中以简单的“YYYY-MM-DD”格式保存日期。

我正在使用以下命令:

CREATE TABLE ExampleDates (ExampleDate DATE);
INSERT INTO ExampleDates (ExampleDate) VALUES ('2024-02-28');
SELECT * FROM ExampleDates;

结果如下:

示例日期
2024-02-28T00:00:00.0000000

我希望使用 DATE 类型列将数据保存为 2024-02-28 而不是 2024-02-28T00:00:00.0000000。这是预期的结果格式吗?我如何将其保存为 2024-02-28?

sql date azure-sql-database
1个回答
0
投票

要获取所需格式的输出

yyyy-MM-dd
,您可以使用以下查询:

SELECT CONVERT(VARCHAR(10), ExampleDate) AS ExampleDate FROM ExampleDates;

查询使用

CONVERT()
函数,它将值(任何类型)转换为指定的数据类型。

输出:

enter image description here

是的,正如Thom所说,

date
time
没有格式,它们是二进制值。表示层决定如何显示输出。因此,最好使用应用程序代码将
date
转换为所需的格式。下面的代码是一个
.NET
应用程序代码,它以所需的格式显示日期,如下面的输出所示:

using System;
using System.Data.SqlClient;

class Program
{
    static void Main()
    {
        string connectionString = "******";

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();

            string sql = "SELECT ExampleDate FROM ExampleDates;";
            SqlCommand command = new SqlCommand(sql, connection);

            SqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                DateTime exampleDate = reader.GetDateTime(0);
                string formattedDate = exampleDate.ToString("yyyy-MM-dd");
                Console.WriteLine("Formatted Date: " + formattedDate);
            }

            reader.Close();
        }
    }
}

输出:

Formatted Date: 2024-02-28
© www.soinside.com 2019 - 2024. All rights reserved.