Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 选择指示日期时间格式_C#_Sql_Sql Server_Visual Studio_Datetime - Fatal编程技术网

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或其他类型吗?谢谢!我原以为这就是我的答案,但问题对我来说并不清楚。。。我将解决方案添加到我的帖子中。