sql:一个语句在sql下可运行,在access下提示"标准表达式中数据类型不匹配",应该就是时间问题,cdate()?

selecttop1*fromgjwhere段号=7and记录时间=(selectmax(记录时间)fromgjwhere段号=7)unionallselecttop1*... select top 1 * from gj where 段号=7 and 记录时间=(select max(记录时间) from gj where 段号=7) union all select top 1 * from gj where 段号=7 order by 记录时间 asc
我选的是 某段号下,记录时间开始和结束2个时刻的2行数据,sql 下可以,access下不行 。
晕啊,如何修改呢?请赐教。。。。

就实现这个功能,改了还是不行,或者有其他方式也行啊:实现某条件始末2时刻的2行数据。。。在线等

段号 是Int型的哈
展开
 我来答
邵钱伟
2010-10-12 · TA获得超过217个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:181万
展开全部
记录时间出错了,SQL 里面可以时间是用'' 包括,而access 里面的时间要写成 ## 如#2010-01-09#
select top 1 * from gj where 段号=7 and 记录时间=#(select max(记录时间)# from gj where 段号=7) union all select top 1 * from gj where 段号=7 order by 记录时间 asc
试试看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangzhiqing999
2010-10-12 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3346万
展开全部
刚才去 测试了一下, Access 支持 Top 1 , 支持 UNION ALL
WHERE 字段 = (SELECT MAX(表) FROM 表) 也支持。

标准表达式中数据类型不匹配, 应该是 那个 段号 字段, 是 字符型的

字符型的 = 7 所以出错了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈学阳
2010-10-13 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5623万
展开全部
alter table 表名 add 新字段 字段类型 NULL

ALTER TABLE<表名>
[ADD<新列名><数据类型>[完整性约束]]
[DROP<完整性约束名>]
[MODIFY<列名><数据类型>];

新增的字段对于表中已经存在的行而言最初将先填充空值。
你也可以同时在该字段上定义约束,使用通常的语法:
ALTER TABLE products ADD COLUMN description text CHECK (description <> '');
一个新字段不能用非空约束,因为最初的时候该字段必须包含空值。 但是你可以稍后增加一个非空约束。同样,你也不能在一个新字段 上定义缺省值。根据 SQL 标准的说明,这样需要对现存行的新 字段填充缺省值,而这个特性还没有实现。但是你可以稍后调整 字段缺省。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式