标准表达式中数据类型不匹配(Access 时间格式)
早上,在尝试把一个应该程序从Mysql的数据库迁移到Access(数据库改用Access)时,出现了这样一个错误:标准表达式中数据类型不匹配
我忙活了一个早上,也没有弄清楚是为什么,后来,突然想起原来使用Access的时候,时间是用#括起来的(在Mysql中是可以用‘’的);而我在迁移的时候,这些Sql语句都几乎没有变过。马上把操作时间的地方改用#,问题迎刃而解!
我这里想说的是,数据库之间的差距其实是非常大的,总是以为应该是差不多的,但是,即使是差一点点,但是在应用程序中的话,这个一点点就会被扩大n倍。要发现这个小差别就够搞死你了。而且,好像MS的数据库也不是支持标准的Sql语句的。
所以,以后在设计数据库的时候,如果以后要做数据库方面的迁移的话,那么在设计的时候,要绝对的考虑清楚各个数据库的兼容问题,以及支持的Sql语句之间的区别。
PS: 早上发现另一个会出现这种情况的问题,就是在查询的时候,如果运用Group By子句,且select的内容不包含在group by中(如select name, sum(money) from t_test group by id),也会出现上述问题。
我忙活了一个早上,也没有弄清楚是为什么,后来,突然想起原来使用Access的时候,时间是用#括起来的(在Mysql中是可以用‘’的);而我在迁移的时候,这些Sql语句都几乎没有变过。马上把操作时间的地方改用#,问题迎刃而解!
我这里想说的是,数据库之间的差距其实是非常大的,总是以为应该是差不多的,但是,即使是差一点点,但是在应用程序中的话,这个一点点就会被扩大n倍。要发现这个小差别就够搞死你了。而且,好像MS的数据库也不是支持标准的Sql语句的。
所以,以后在设计数据库的时候,如果以后要做数据库方面的迁移的话,那么在设计的时候,要绝对的考虑清楚各个数据库的兼容问题,以及支持的Sql语句之间的区别。
PS: 早上发现另一个会出现这种情况的问题,就是在查询的时候,如果运用Group By子句,且select的内容不包含在group by中(如select name, sum(money) from t_test group by id),也会出现上述问题。
汇聚杭州外卖:外卖汇