【发布时间】:2016-07-26 02:38:52
【问题描述】:
我有一个包含日期数据类型字段的表。尽管在向其中插入值时我希望该字段中的原始日期是这样的:
update reportsgenerated
set begindate = '2016-02-01'
where rptgenid = 2;
...它实际上似乎存储了一个日期时间值,因为它在 LINQPad 中表示为“2/1/2016 12:00:00 AM”。
插入时我分配给参数的 C# 值是 DateTime 类型(因为 C# 没有“仅日期”类型):
DateTime begDate = // bla
既然如此,我是否应该将参数指定为Date类型,以匹配表格:
insertRptsGenerated.Parameters.Add("@BeginDate", SqlDbType.Date).Value = begDate;
...或作为 DateTime 类型,以匹配分配值的类型:
insertRptsGenerated.Parameters.Add("@BeginDate", SqlDbType.DateTime).Value = begDate;
?
【问题讨论】:
-
如果您的 SQL 版本中可用,您最好使用 DATE 类型。我猜在 C# 中它不会与 DATETIME 字段不同。
标签: sql-server date datetime type-conversion sqldatatypes