急!!!!在异质查询时,日期格式转换错误,高手请进!(100分)

  • 主题发起人 主题发起人 jzx
  • 开始时间 开始时间
J

jzx

Unregistered / Unconfirmed
GUEST, unregistred user!
我要在2个sql7数据库的两个表中查询数据如下所示
另外在sql7中不同数据库的表的查询可以用 db1.dbo.db_table1的形式来查询而在delphi中
却不行,只能使用以下方法
select table1.field1,table2.field2
from ":db1:tb_table1" table1, ":db2:tb_table2" table2
where table1.field1 = table2.field1
and table1.rq ='2001-1-1'
//db1和db2是两个sqlserver 数据库在bde administrator 中的别名
//tb_table1,tb_table2 是两个数据库中的表
问题出现了
在sql explorer中 查询出错 提示信息为"类型不匹配"
把日期的条件删除后可以正常执行,原来是datetime格式的rq字段和'2001-1-1'不匹配
修改成
and table1.rq =convert(datetime,'2001-1-1')
后执行还是出错,提示信息.....不记得了,我想请教各位高手到底怎样写这样一段sql语句?

 
用ORACLE的日期转化函数试试。
TO_CHAR('20011212','YYYYMMDD'),一般就可以了。
 
你看看你的日期格式设定得对不对?在控制台->地区选项->日期,看看里面的日期格式与你
SQL Explorer中的设定是不是相同,不同的话改为相同.另外,检查一下你的数据库引擎.我
以前的ORACLE有过同样问题,SQL SERVER没用过,不过我想差不多.
 
你的语句中的'2001-1-1'是一个字符串不是日期格式,当然出错啦。
应该写成#2001-1-1#,这是SQL中日期常量的写法。
 
多人接受答案了。
 
后退
顶部