访问日期时间转换为字符串。时间存储为军事,不想转换



我正在编写MS Access的SQL查询。

这两个字段是日期时间。开始/结束时间是22:30/6:30

当我运行以下查询

SELECT cDate(Format(table1.BeginTime,"hh:mm")),

我得到10:30 pm而不是22:30。我不想转换为12小时格式。我如何保持这流时间格式?

,所以我在2013年访问中尝试了一些事情,看来@bjones有一点。

在SQL Server Format中是CLR .NET函数,format(date, 'hh:mm')为12小时,Format(date, 'HH:mm')为24小时。

但是,正如@bjones指出的那样,可能会有一些问题,即您的原始列如何以文字或日期或时间保存。P>

cDate(Format(table1.BeginTime,"HH:mm"))

cDate将内容转换为日期,但不格式化。

so

FORMAT(cDate(table1.BeginTime), "hh:mm")

FORMAT(cDate(table1.BeginTime), "HH:mm")

FORMAT(cDate(table1.BeginTime), "Short Time")

如果将时间存储为文本,则应给您想要的东西。如果存储为日期时间,您可以将CDATE全部放在一起并与

FORMAT(table1.BeginTime, "Short Time") 

@bjones回答。

您不知道查询的结果是什么。

如果您需要日期 value 查看 以24小时格式使用:

Select table1.BeginTime

并将格式属性应用于 h:nn hh的列:nn

如果您需要以24小时格式格式为字符串的日期,请使用:

Select Format(table1.BeginTime, "hh:nn")

并且不需要格式。

在任何情况下,即使格式字符串h: mm 都可以使用,请使用h: nn 或hh: nn m 是一个月。

我认为您需要摆脱的是CDATE功能,因为您的字段已经处于DateTime格式。

SELECT Format(table1.BeginTime,"hh:nn")

最新更新