-1

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

date_dt = DateTime.ParseExact(date, "yyyyMMddHHmmsszzz", null, DateTimeStyles.None);

结果其date_dt=13/06/2013 12:00:00 AM

我使用插入数据库 SQL Server

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

我有一个问题 - 我收到一个错误:

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

dt_date用 fomat 转换的解决方案是什么MM/dd/yyy

4

5 回答 5

1

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

更多信息:http: //msdn.microsoft.com/en-us/library/ms254953.aspx

http://msdn.microsoft.com/en-us/library/4f844fc7.aspx

于 2013-06-13T08:28:32.927 回答
1

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

date_dt.ToString("s")

示例输出:

2013-06-13T10:29:57

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

于 2013-06-13T08:32:14.973 回答
0

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

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

在此处找到与此相关的非常有用的书签链接。http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/

于 2013-06-13T08:38:07.057 回答
0
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...
于 2013-06-13T09:33:52.103 回答
-1

如果您放入 sql 查询,那么您可以使用以下内容:

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

我希望它会帮助你。:)

于 2013-06-13T08:37:07.830 回答