![](/img/trans.png)
[英]how to insert to database 00/00/0000 in datetime column when datetime picker checkbox not checked C# and SQL SERVER?
[英]sql datetime column - insert time as 00:00:00.000
我想在datetime
为2014-09-20 00:00:00.000
sql server
插入datetime
列
在代码中,日期还包含这样的时间2014-09-20 10:40:00.000
在sql中插入此代码时,我需要将时间部分转换为2014-09-20 00:00:00.000
。
当我做这样的转换时:-
DateTime ts = DateTime.Now;
ts = new DateTime ( ts.Year, ts.Month, ts.Day, 0, 0, 0 ) ;
结果:-
12/7/2015 12:00:00 AM
如何安排时间00:00:00.0000
Linq插入代码: item.InOutDate
包含Date + Time
item.InOutDate = new DateTime ( item.InOutDate.Year, item.InOutDate.Month, item.InOutDate.Day, 0, 0, 0 );
ctx.tblTable.Add(item);
你是混淆有关的值之间DateTime
一个和文字表示DateTime
。 DateTime
没有任何隐式格式。 它只具有日期和时间值。 格式概念仅在获得字符串表示形式时才重要。
例如; 两者之间有什么区别?
12/7/2015 12:00:00 AM
12/7/2015 00:00:00
作为一个值(根据其Ticks
属性计算),它们等于1 。 唯一的区别是它们的字符串表示形式。 第一个是12小时制,第二个是24小时制。
另一方面,SQL Server在datetime
和datetime2
列类型中将DateTime
值保留为二进制。 这意味着,只需将DateTime
值直接传递给参数化查询 ,SQL Server会将其保存为被映射的datetime
。
顺便说一句,您可以使用DateTime
Today
属性获取日期部分,其中00:00:00
作为时间部分。
DateTime ts = DateTime.Today;
1 :当然,我假设12是月份,7是一天。
在插入数据库时,您可以直接使用以下代码,而不是使用C#代码进行转换:
insert into table1(col1) values (dateadd(dd,datediff(dd,0,getdate()),0))
INSERT INTO TABLE_NAME (COLUMNS)
VALUES (DATEADD(DD,0,0)+DATEDIFF(DD,0,GETDATE()))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.