我们如何将字符串转换为日期时间并将其存储在varchar中

时间:2013-04-08 13:04:07

标签: c# asp.net mysql asp.net-mvc

我在mysql数据库中使用varchar[1000]。我想将日期时间存储在该列中。然后我需要将其转换为datatime并将其存储在varchar中。我们可以转换并存储在varchar

对不起,如果有任何错误。任何帮助表示赞赏

4 个答案:

答案 0 :(得分:1)

要清楚,您DateTime列中存储varchar值。您正在存储字符串值。这些字符串值可能包含数字字符或特定的字符序列,人们可能将其解释为特定的字符(例如日期和/或时间),但它们仍然只是字符串。

因此,为了将值转换为字符串,您可以从the .ToString() method开始。对于基本类型(例如整数和日期时间值),这将返回该类型的字符串表示形式。对于复杂类型,它将返回类的名称,因此您需要在该类中覆盖它。

您可以使用custom string formatting进一步细化日期和时间值的字符串表示形式。

答案 1 :(得分:0)

正如评论中的其他人所提到的,你真的应该重新考虑你的方法。但是,varchar需要字符串,而不是日期时间,因此只需保存string值的datetime表示,无需转换。

答案 2 :(得分:0)

也许做一个varchar(10) 然后在你的C#代码中:

date.ToString("yyyy/MM/dd"); 

您可以像这样格式化日期。

答案 3 :(得分:0)

varchar(1000)毫无意义。如果您将日期和时间存储为字符串,则不需要超过15-20个字符(可能更少,具体取决于日期格式)。

您应该使用CAST运算符将datetime值转换为字符串:

CAST(dt AS varchar)

如果需要生成组合来自多个字段的数据的输出,则可能需要使用组合要放在一起的值的视图,而不是在数据表中专用1000个字符的字段。 (提示:使用concat()函数连接多个字符串。)