[英]How can I store only the date portion of the datetime. Today property to a SQL Server table datetime column?
我试图通过使用更新SQL Server 2012表中的datetime
列
newItem.DateSaved = DateTime.Today;
我想只保存DateTime
的Date
部分,但是当我在表中检查时,我可以看到它还节省了时间部分: 2018-07-27 00:00:00.000
。 我怎么能只存储date
部分? 2018-07-27
?
编辑
因为我的列是datetime
,所以我看到我不能仅存储日期部分。 但是如何在没有时间的情况下向用户显示日期部分呢? 以下是Linq-to-SQL查询的选择部分:
select new { Date = smv.DateSaved.Value.Date }).Distinct();
datetime
时间列始终具有时间部分 - 在您的情况下,它将全部为零。 甲datatime
只是引擎盖下的数; 它没有任何选择它有/没有; 同样,它没有格式的任何想法,直到你的代码试图显示它,然后它是选择的格式dispalying代码。
如果您不想要时间部分,请使用date
而不是datetime
时间作为列。
在SQL Server中将列类型从datetime
更改为date
( https://docs.microsoft.com/en-us/sql/t-sql/data-types/date-transact-sql?view=sql-server-2017 )
如果要在SQL Server数据库中仅存储没有时间的日期,可以将列类型设置为date
ALTER TABLE table_name
ALTER COLUMN DateSaved date;
参考: https : //docs.microsoft.com/en-us/sql/t-sql/data-types/date-transact-sql?view=sql-server-2017
如果模型中有DateTime
属性,并且只想显示日期部分,则只需在视图中的控件中对其进行格式化。 例如:
$"{newItem.DateSaved:yyyy-MM-dd}"
要么
newItem.DateSaved.ToString("yyyy-MM-dd")
如果您想要默认格式,也可以使用"d"
或"D"
(短版和长版)而不是像"yyyy-MM-dd"
这样的特定格式。
如果您的视图是用HTML或XAML编写的,请使用相同的格式化技术。
这是因为数据库中的字段是DateTime
。 如果您只想存储日期,则应该有一个包含日期数据类型的字段。 在此链接中 ,您可以看到日期数据类型之间的差异。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.