C# 选择指示日期时间格式
我运行的查询如下:C# 选择指示日期时间格式,c#,sql,sql-server,visual-studio,datetime,C#,Sql,Sql Server,Visual Studio,Datetime,我运行的查询如下: SELECT dt, x, y FROM mytable WHERE dt BETWEEN '2015-25-05 00:00:00.000' AND '2015-25-05 12:00:00.000'; SqlConnection conn = new SqlConnection(connectionString); SqlCommand command = new SqlCommand(query, conn); SqlDataReader reader = com
SELECT dt, x, y
FROM mytable
WHERE dt BETWEEN '2015-25-05 00:00:00.000' AND '2015-25-05 12:00:00.000';
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(query, conn);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
//write one line; column is the number of columns
for (int n = 0; n < column; n++)
{
writer.Write(reader[n].ToString());
}
writer.WriteLine("");
}
dt是一个日期时间,我以“yyyy-dd-MM hh:MM:ss.fff”格式插入。我的输出dt格式仅为“yyyy dd MM hh:MM:ss”
我还需要输出中的毫秒数。谁能告诉我怎么弄到的?很抱歉,我自己找不到这个语法
编辑:
我认为这个问题比现在容易。我试着用
SELECT CONVERT(DATETIME, dt,109)
它在MSSQL管理工作室中运行良好
但我想在Visual Studio 2013中使用C中的dt值。我运行一个查询并将输出写入一个文件
我使用System.Data.SqlClient.SqlConnection、System.Data.SqlClient.SqlCommand和System.Data.SqlClient.DataReader获得如下值:
SELECT dt, x, y
FROM mytable
WHERE dt BETWEEN '2015-25-05 00:00:00.000' AND '2015-25-05 12:00:00.000';
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(query, conn);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
//write one line; column is the number of columns
for (int n = 0; n < column; n++)
{
writer.Write(reader[n].ToString());
}
writer.WriteLine("");
}
谢谢这将给您以毫秒为单位的时间
SELECT CONVERT(DATETIME, dt,109) AS dt,x,y
FROM mytable
WHERE dt BETWEEN '2015-25-05 00:00:00.000' AND '2015-25-05 12:00:00.000';
convertnvarchar,dt,121这将很有帮助。121将是yyyy-mm-dd。。。他想要yyyy dd mm。我认为如果不解析字符串并自己构建它,就无法做到这一点。真正的问题是数据时间在哪里使用?如果是在某些代码或报表中,则应进行格式化,因此输出格式属于表示级别,而不是SELECT语句。话虽如此,您确定该列的数据类型是datetime,而不是datetime20或其他类型吗?谢谢!我原以为这就是我的答案,但问题对我来说并不清楚。。。我将解决方案添加到我的帖子中。