Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
ms access查询的SQL语法错误_Sql_Ms Access - Fatal编程技术网

ms access查询的SQL语法错误

ms access查询的SQL语法错误,sql,ms-access,Sql,Ms Access,下面是我的问题。我遇到的问题是,B.REVISED_DATE是一个字符串,B.REVISED_DATE是一个日期,当我尝试运行查询时,我得到一个数据不匹配错误。我想做的是将B.u日期更改为字符串,但我不记得确切的语法。我正在使用microsoft access作为数据库。任何帮助都将不胜感激 SELECT A.ICAO, A.RWY, A.REVISED_DATE, B.REVISED_DATE FROM RUNWAYS A, RUNWAYS_UPDATABLE B, AIR

下面是我的问题。我遇到的问题是,B.REVISED_DATE是一个字符串,B.REVISED_DATE是一个日期,当我尝试运行查询时,我得到一个数据不匹配错误。我想做的是将B.u日期更改为字符串,但我不记得确切的语法。我正在使用microsoft access作为数据库。任何帮助都将不胜感激

     SELECT A.ICAO, A.RWY, A.REVISED_DATE, B.REVISED_DATE
     FROM RUNWAYS A, RUNWAYS_UPDATABLE B, AIRPORT_CHECKLIST C
     WHERE A.RWYKEY = B.RWYKEY
     AND A.ICAO = C.ICAO
     AND A.REVISED_DATE <> B.REVISED_DATE
     AND TO_CHAR(B.REVISED_DATE) <> C.EMAIL_DATE
     ORDER BY A.ICAO
选择A.ICAO、A.RWY、A.修订日期、B.修订日期
从跑道A、跑道可更新B、机场检查清单C
其中A.RWYKEY=B.RWYKEY
国际民航组织=国际民航组织
A.修订日期B.修订日期
和给字符(B.修改日期)C.电子邮件日期
国际民航组织的命令

Access'数据库引擎不支持TO\u CHAR函数

Format(B.Revised_Date, "Format of date here")
CDate(B.Revised_Date)
如果B.REVISED_DATE是日期/时间数据类型,C.EMAIL_DATE是文本,则可以使用CDate()从C.EMAIL_DATE获取日期/时间值

B.REVISED_DATE <> CDate(C.EMAIL_DATE)
B.修订日期CDate(C.电子邮件日期)
如果您喜欢使用与B.revisited_DATE等效的文本,可以使用CStr()函数。但是,除非它的格式与C.EMAIL_DATE相同,否则您的不平等性比较可能会很麻烦。您最好使用Format()以便将修订日期的格式设置为与电子邮件日期相同的格式

Format(B.REVISED_DATE, "mm/dd/yyyy") <> CDate(C.EMAIL_DATE)
格式(B.修订日期,“mm/dd/yyyy”)CDate(C.电子邮件日期)

但对我来说,将两者都作为日期进行比较似乎更简单,因此您不必担心格式问题。

如果您希望将B.revisited_Date转换为字符串,请使用Format()函数

Format(B.Revised_Date, "Format of date here")
CDate(B.Revised_Date)
格式会将日期转换为您希望使用的任何格式,如图所示


如果希望将B.u日期转换为日期,请使用CDate()函数

Format(B.Revised_Date, "Format of date here")
CDate(B.Revised_Date)
所以,如果你想让你的两个约会都变成文本,那么你可以按照这些思路做一些事情

AND Format(A.REVISED_DATE, "MM/dd/yyyy") <> Format(B.REVISED_DATE, "MM/dd/yyyy")
和格式(A.修订日期,“MM/dd/yyyy”)格式(B.修订日期,“MM/dd/yyyy”)
或者按照您希望的格式设置日期


希望这有帮助

您使用的字符串格式是什么?。YYYYMMDD?、MM/DD/YYYY?等