我正在编写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")