我应该在SQL Server中为hh:mm tt保存什么数据类型?
本文关键字:保存 tt 什么 数据类型 mm SQL Server 中为 hh 我应该 | 更新日期: 2023-09-27 18:16:24
我有一个web表单,它有一个hh:mm tt的下拉列表,间隔30分钟,从6:00am开始,6:30 am, 7:00am....8:00pm。如何将选定的时间保存到SQL Server中?我不确定什么数据类型(Date
, DateTime
, Time(7)
)在SQL Server我应该使用。
请帮我建议。
这是我加载 的c#代码protected void Page_Load(object sender, EventArgs e)
{
AddDropDownValues(ref ddlHrMin, 6, 20, 30);
}
我就是这样定义出来的hh:mm tt
private void AddDropDownValues(ref DropDownList ddlHrMin, int startHour, int endHour, int increment)
{
DateTime now = DateTime.Now;
DateTime startTime = new DateTime(now.Year, now.Month, now.Day, startHour, 0, 0);
DateTime endTime = new DateTime(now.Year, now.Month, now.Day, endHour, 0, 0);
while (startTime <= endTime)
{
ddlHrMin.Items.Add(startTime.ToShortTimeString());
startTime = startTime.AddMinutes(increment);
}
}
这里有几个选项。一种是内置的Time类型。这是首选的类型,但是在客户端代码中使用它可能会很尴尬。在Sql Server 2005及更早版本中也不可用。由于您使用的是30分钟间隔,因此另一个选项是int
,它表示自午夜以来的间隔数,或自午夜以来的分钟数。这里的技巧是您必须编写代码来转换输入和输出。您也可以使用DateTime,尽管如果您不查看特定的日期,并且只关心时间部分,那么这可能是多余的。
您绝对要避免的一件事是将该数据存储为字符串