我想从 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 对话(例如,LINQ to SQL,使用 SqlDbReader
等)。但是您应该能够将其作为 DateTime
获取,然后在本地对其进行格式化。这将使测试更容易,调试更容易,让您更好地控制文化方面(日期分隔符,可能指定标准说明符而不是自定义说明符等)。
关于c# - 如何从 SQL Server 2005 获取 "dd/mm/yyyy h:m:s"格式的日期时间记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8047334/