C# 如何通过c在SQL Server中更改日期格式或如何在SQL Server中插入日期时间#

C# 如何通过c在SQL Server中更改日期格式或如何在SQL Server中插入日期时间#,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我有字符串date=“20130613070000+1000”我使用以下方法转换为数据时间: date_dt = DateTime.ParseExact(date, "yyyyMMddHHmmsszzz", null, DateTimeStyles.None); 结果其日期为2013年6月13日上午12:00:00 我使用 insert into date (startdate) VALUES ('13/06/2013 12:00:00 PM') 我有一个问题-我得到一个错误: 味精242,

我有字符串
date=“20130613070000+1000”
我使用以下方法转换为数据时间:

date_dt = DateTime.ParseExact(date, "yyyyMMddHHmmsszzz", null, DateTimeStyles.None);
结果其日期为2013年6月13日上午12:00:00

我使用

insert into date (startdate) VALUES ('13/06/2013 12:00:00 PM')
我有一个问题-我得到一个错误:

味精242,第16级,第3状态,第6行
将varchar数据类型转换为datetime数据类型导致值超出范围


使用fomat转换日期的解决方案是什么?

如何插入数据库?从C代码中,您应该始终使用参数来传递值。框架为您进行转换

更多信息:


以字符串形式插入日期时,可以使用ISO 8601格式。这应该适用于所有文化:

date_dt.ToString("s")
示例输出:

2013-06-13T10:29:57

或者,您可以使用带有参数的SqlCommand,这些参数将为您进行转换。

如果您输入sql查询,则可以使用以下命令:

select CONVERT(VARCHAR(10),getdate(),101)

我希望它能帮助你。:)

您可以使用以下转换函数将日期字符串转换为SQL日期时间格式

DECLARE @MyDate DATETIME 
SET @MyDate = CONVERT(DATETIME, '13/06/2013 12:00:00 PM', 103) 
INSERT INTO date (startdate) VALUES (@MyDate)

与此相关的书签链接非常有用

不要在代码中的sql语句字符串中插入值!一定要使用。
cmd.CommandText=“插入日期(startdate)值(@startdate)”;cmd.Parameters.AddWithValue(“开始日期”,日期)-乔布斯没有投反对票,但我认为这并不能回答问题。甚至在你编辑之后。@SonerGönül相反,我认为这就是这个问题的答案。如果你发现自己不得不想知道如何解析或格式化日期(或者其他类型的日期),那就意味着你做错了。这里正确的做法是将其表示为一个参数,而不是一个literal@SonerGönül问题是(也是)“如何通过c#插入日期时间”毫无疑问,标准方法是通过SqlParameters。有一个错误:getdate?getdate()返回当前日期。他正在尝试插入其他数据。不是这样,我需要按日期时间类型插入InoSQL,但我需要在sql中的日期时间格式和asp.net或c中的日期时间格式之间相等,我不确定我是否理解你的意思。SQL server的输出是一个DateTime实例。如果服务器上的日期值也是DateTime实例,那么比较它们应该很容易吗?如果您支持多个时区,则可能必须转换为UTC或UTC。由于该值来自调用代码(在某些静态sql中不是固定值),因此在我看来,最好首先参数化该值,而不是将其连接为文字。参数是强类型的-不需要潜在的模棱两可的格式/解析步骤。它还允许更好的查询计划重用。
You can insert into database SQL Server using

insert into date (startdate) VALUES ('06/13/2013 12:00:00 PM')

the format for datetime is mm/dd/yy...