Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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# 如何在“中获取日期时间记录”;年月日h:m:s“;SQL server 2005的格式?_C#_Sql Server 2005_Tsql - Fatal编程技术网

C# 如何在“中获取日期时间记录”;年月日h:m:s“;SQL server 2005的格式?

C# 如何在“中获取日期时间记录”;年月日h:m:s“;SQL server 2005的格式?,c#,sql-server-2005,tsql,C#,Sql Server 2005,Tsql,我想从sql server 2005中获取日期时间格式的记录,如“dd/mm/yyyy h:m:s” 我的数据库日期是默认的日期时间格式 AttLogId int ... DownloadLog datetime 我试图检索日期时间,如下所示: SELECT AttLogId ,convert(varchar,DownloadLogDate,103) FROM AttLog ORDER BY DownloadLogDate 但是我只获取日期,而不获取时间。我建议您不要尝试获取特定字符串格式

我想从sql server 2005中获取日期时间格式的记录,如“dd/mm/yyyy h:m:s”

我的数据库日期是默认的日期时间格式

AttLogId int
...
DownloadLog datetime
我试图检索日期时间,如下所示:

SELECT AttLogId ,convert(varchar,DownloadLogDate,103) FROM  AttLog
ORDER BY DownloadLogDate

但是我只获取日期,而不获取时间。

我建议您不要尝试获取特定字符串格式的值。将它们作为
DateTime
值获取,然后使用
DateTime.ToString(“dd/MM/yyyy H:m:s”)
在.NET代码中格式化它们

尽可能长时间地保持数据的“自然”数据类型(此处为日期/时间)几乎总是值得的,只有在您真正需要时才转换为文本。因此,您的SQL应该是:

SELECT AttLogId, DownloadLogDate FROM  AttLog
ORDER BY DownloadLogDate

然后如何检索数据将取决于您与SQL的对话方式(例如,使用
SqlDbReader
等将LINQ转换为SQL)。但您应该能够将其作为
DateTime
格式获取,然后在本地对其进行格式化。这将使测试更容易,调试更容易,使您能够更好地控制文化方面(日期分隔符,可能指定标准说明符而不是自定义说明符,等等)。

我建议您不要尝试以特定的字符串格式获取值。将它们作为
DateTime
值获取,然后使用
DateTime.ToString(“dd/MM/yyyy H:m:s”)
在.NET代码中格式化它们

尽可能长时间地保持数据的“自然”数据类型(此处为日期/时间)几乎总是值得的,只有在您真正需要时才转换为文本。因此,您的SQL应该是:

SELECT AttLogId, DownloadLogDate FROM  AttLog
ORDER BY DownloadLogDate

然后如何检索数据将取决于您与SQL的对话方式(例如,使用
SqlDbReader
等将LINQ转换为SQL)。但您应该能够将其作为
DateTime
格式获取,然后在本地对其进行格式化。这将使测试更容易,调试更容易,使您能够更好地控制文化方面(日期分隔符,可能指定标准说明符而不是自定义说明符,等等)。

这是因为您使用的是103,所以它只会给出日期。 如果需要更多格式,请检查以下内容:
这是因为您使用的是103,所以它只给出日期。 如果需要更多格式,请检查以下内容:

根据需要,你可以试试这个

SELECT AttLogId , convert(varchar(10),DownloadLogDate,103) +'  '+ convert(varchar(8),DownloadLogDate,108) FROM  AttLog ORDER BY DownloadLogDate 
注:第一个表示日期,第二个表示时间,单位为H:M:S


希望这对你有所帮助。

根据需要,你可以试试这个

SELECT AttLogId , convert(varchar(10),DownloadLogDate,103) +'  '+ convert(varchar(8),DownloadLogDate,108) FROM  AttLog ORDER BY DownloadLogDate 
注:第一个表示日期,第二个表示时间,单位为H:M:S


希望这对你有所帮助。

请看Anubhav Goyal的文章。:)请看Anubhav Goyal的文章:帮助我,因为我不能问问题,所以帮助我,像这样的错误=对不起,我们不再接受来自此帐户的问题。查看以了解更多信息。@JigJet12:我建议您遵循该页上的建议。@Jig12:那么这对您不起作用了吗?它确实比在数据库中转换要干净得多。您应该避免在实际需要之前执行字符串转换。::好的,谢谢,您给了我适当的建议:)帮助我,因为我不能问问题,所以请帮助我,错误如下=抱歉,我们不再接受此帐户的问题。查看以了解更多信息。@JigJet12:我建议您遵循该页上的建议。@Jig12:那么这对您不起作用了吗?它确实比在数据库中转换要干净得多。您应该避免在实际需要之前执行字符串转换。::好的,谢谢,您给了我适当的建议:)