【发布时间】:2015-07-17 14:15:57
【问题描述】:
我有一个日期格式为 20150530 的文件。在将它们插入 SQL 表之前,我需要将它们格式化为以下格式:05302015。我原来的代码是:
private string NormalizeDate(string strInput)
{
string strOutput;
DateTime date;
if (DateTime.TryParseExact(strInput, "YYYYMMdd", null, System.Globalization.DateTimeStyles.None, out date))
{
strOutput = date.ToString("MMddYYYY");
return strOutput.Trim();
}
else
{
return strInput.Trim();
}
}
但是,在我插入 SQL 之前,日期的格式并没有改变。当我插入表格时,我希望日期采用 MMddYYYY 格式(没有破折号或空格)。然后使用该格式,我需要将这些日期合并到另一个表中,但格式需要为 MMddYYYY。
我唯一的其他选择是进行某种查询,该查询可以从 Table1 (20150530) 中获取原始日期,然后将格式转换为 (05302015) 格式的 Table2。我尽量不混淆任何人。 Table1 的数据类型是 datetime,它将插入到 Table2 中的列是 nvarchar。
【问题讨论】:
-
列是什么类型的?如果是日期,则格式无关紧要。
-
...如果不是日期,那为什么不是日期? :) 但是说真的,到目前为止你尝试过什么?你哪里有问题?
-
现在是日期时间。出于特定和独特的原因,我需要更改此格式。有什么想法吗?
-
@JustinSmith 如果是日期时间,SQL 更希望您将其传递为:
20100530-YYYYMMDD -
您是通过
BULK还是常规INSERT命令插入?
标签: c# sql-server