楼主: mashagua
1279 4

[问答] 用R去访问数据库中的数据出错 [推广有奖]

  • 0关注
  • 1粉丝

博士生

88%

还不是VIP/贵宾

-

威望
0
论坛币
60 个
通用积分
69.1920
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
3931 点
帖子
198
精华
0
在线时间
258 小时
注册时间
2013-9-20
最后登录
2020-12-21

楼主
mashagua 学生认证  发表于 2016-6-30 14:07:28 |AI写论文
1论坛币
ZDF<-sqlQuery(ch_185,"select*from SI_STK_20004 where F_SCODE in (",scode[1],",",scode[2],",",scode[3],") and F_TYPE=999 and F_TRADEDAY between 20150601 and 20150605 order by F_SCODE"),错误是[1] "HY000 936 [Oracle][ODBC][Ora]ORA-00936: 缺失表达式\n"                                

[2] "[RODBC] ERROR: Could not SQLExecDirect 'select*from SI_STK_20004 where F_SCODE in ('",请问怎样改

最佳答案

马甲1号 查看完整内容

你的sql语句不对,建议先去学学paste或sprintf函数的用法吧。 "select*from SI_STK_20004 where F_SCODE in (",scode[1],",",scode[2],",",scode[3],") and F_TYPE=999 and F_TRADEDAY between 20150601 and 20150605 order by F_SCODE" 应该改为 paste("select*from SI_STK_20004 where F_SCODE in (",scode[1],",",scode[2],",",scode[3],") and F_TYPE=999 and F_TRADEDAY between 20150601 and 20150605 order by F_SCODE", ...
关键词:数据库 数据库

沙发
马甲1号 发表于 2016-6-30 14:07:29
你的sql语句不对,建议先去学学paste或sprintf函数的用法吧。
"select*from SI_STK_20004 where F_SCODE in (",scode[1],",",scode[2],",",scode[3],") and F_TYPE=999 and F_TRADEDAY between 20150601 and 20150605 order by F_SCODE"
应该改为
paste("select*from SI_STK_20004 where F_SCODE in (",scode[1],",",scode[2],",",scode[3],") and F_TYPE=999 and F_TRADEDAY between 20150601 and 20150605 order by F_SCODE", sep='')
顺便问问你用的是哪家的财经数据库?

藤椅
mashagua 学生认证  发表于 2016-6-30 14:42:53
马甲1号 发表于 2016-6-30 14:15
你的sql语句不对,建议先去学学paste或sprintf函数的用法吧。
"select*from SI_STK_20004 where F_SCODE i ...
谢谢,我用的是学校内部的数据库

板凳
robbieyeah 发表于 2016-7-1 00:13:46
mashagua 发表于 2016-6-30 14:42
谢谢,我用的是学校内部的数据库
你可能没看懂楼上的意思,不是你的数据库连接有问题,是你sql语句的字符串编辑有问题。你要看一下r的字符串合并函数。

报纸
mashagua 学生认证  发表于 2016-7-1 13:47:42
robbieyeah 发表于 2016-7-1 00:13
你可能没看懂楼上的意思,不是你的数据库连接有问题,是你sql语句的字符串编辑有问题。你要看一下r的字符 ...
好的,谢谢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-2 04:43