Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 访问日期时间转换为字符串。时间存储为军事时间,Don';我不想改变信仰_Sql_Ms Access - Fatal编程技术网

Sql 访问日期时间转换为字符串。时间存储为军事时间,Don';我不想改变信仰

Sql 访问日期时间转换为字符串。时间存储为军事时间,Don';我不想改变信仰,sql,ms-access,Sql,Ms Access,我正在为MS Access编写SQL查询 这两个字段是DateTime。开始/结束时间为22:30/6:30 当我运行以下查询时 SELECT cDate(Format(table1.BeginTime,"hh:mm")), 我的时间是晚上10:30,而不是22:30。我不想转换成12小时格式。我如何保持米利时间格式?所以我在Access 2013中尝试了一些东西,似乎@Bjones有道理 在SQL Server中,Format是一个clr.net函数,Format(date,'hh:mm')

我正在为MS Access编写SQL查询

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

当我运行以下查询时

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

我的时间是晚上10:30,而不是22:30。我不想转换成12小时格式。我如何保持米利时间格式?

所以我在Access 2013中尝试了一些东西,似乎@Bjones有道理

在SQL Server中,
Format
是一个clr.net函数,
Format(date,'hh:mm')
将是12小时,
Format(date,'hh:mm')
将是24小时

但正如@Bjones所指出的,可能存在一些问题,即您的原始专栏是如何作为文本、日期或时间保存的。。。。。我试过之后得出的结论是,你们的函数顺序是错误的

cDate(Format(table1.BeginTime,"HH:mm"))
cDate
将内容转换为日期,但不格式化

所以

如果时间以文本形式存储,则应提供所需内容。如果存储为日期时间,您只需将cDate全部放在一起,然后继续使用

FORMAT(table1.BeginTime, "Short Time") 

正如@Bjones所回答的。

所以我在Access 2013中尝试了一些东西,似乎@Bjones有道理

在SQL Server中,
Format
是一个clr.net函数,
Format(date,'hh:mm')
将是12小时,
Format(date,'hh:mm')
将是24小时

但正如@Bjones所指出的,可能存在一些问题,即您的原始专栏是如何作为文本、日期或时间保存的。。。。。我试过之后得出的结论是,你们的函数顺序是错误的

cDate(Format(table1.BeginTime,"HH:mm"))
cDate
将内容转换为日期,但不格式化

所以

如果时间以文本形式存储,则应提供所需内容。如果存储为日期时间,您只需将cDate全部放在一起,然后继续使用

FORMAT(table1.BeginTime, "Short Time") 

正如@Bjones所回答的。

我认为您需要去掉的是cDate函数,因为您的字段已经是DateTime格式

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

我认为您需要去掉的是cDate函数,因为您的字段已经是DateTime格式

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

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

如果需要日期值并以24小时格式查看,请使用:

Select table1.BeginTime
Select Format(table1.BeginTime, "hh:nn")
并为h:nn或hh:nn列应用格式属性

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

Select table1.BeginTime
Select Format(table1.BeginTime, "hh:nn")
而且不需要任何格式


在任何情况下,即使格式字符串h:mm可以使用,也要使用h:nn或hh:nn,因为m表示月份。

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

如果需要日期值并以24小时格式查看,请使用:

Select table1.BeginTime
Select Format(table1.BeginTime, "hh:nn")
并为h:nn或hh:nn列应用格式属性

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

Select table1.BeginTime
Select Format(table1.BeginTime, "hh:nn")
而且不需要任何格式


在任何情况下,即使格式字符串h:mm可以使用,也一定要使用h:nn或hh:nn,因为m表示月份。

小写
hh
对于我在MS Access中获得24小时的访问来说效果非常好2010@bjones好的,我真的不知道Access会对它一视同仁,因为c#和SQL不会,所以我才知道。然而,函数的顺序才是真正的罪魁祸首,因为cDate是获得12小时格式的东西,它是最外层的函数。小写
hh
对于我在MS-Access中获得24小时的访问非常好2010@bjones好的,我真的不知道Access会对它一视同仁,因为c#和SQL不会,所以我才知道。然而,函数的顺序才是真正的罪魁祸首,因为cDate是获得12小时格式的函数,它是最外层的函数。
cDate
返回一个没有格式的日期。无论何时显示值,该格式都会出现。如果它只是在调试器中,那么您不需要;不必担心。
cDate
返回一个没有格式的日期。无论何时显示值,该格式都会出现。如果它只是在调试器中,那么您不需要;不用担心。