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型的哈 展开
我选的是 某段号下,记录时间开始和结束2个时刻的2行数据,sql 下可以,access下不行 。
晕啊,如何修改呢?请赐教。。。。
就实现这个功能,改了还是不行,或者有其他方式也行啊:实现某条件始末2时刻的2行数据。。。在线等
段号 是Int型的哈 展开
展开全部
记录时间出错了,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
试试看
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
试试看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
刚才去 测试了一下, Access 支持 Top 1 , 支持 UNION ALL
WHERE 字段 = (SELECT MAX(表) FROM 表) 也支持。
标准表达式中数据类型不匹配, 应该是 那个 段号 字段, 是 字符型的
字符型的 = 7 所以出错了。
WHERE 字段 = (SELECT MAX(表) FROM 表) 也支持。
标准表达式中数据类型不匹配, 应该是 那个 段号 字段, 是 字符型的
字符型的 = 7 所以出错了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
alter table 表名 add 新字段 字段类型 NULL
ALTER TABLE<表名>
[ADD<新列名><数据类型>[完整性约束]]
[DROP<完整性约束名>]
[MODIFY<列名><数据类型>];
新增的字段对于表中已经存在的行而言最初将先填充空值。
你也可以同时在该字段上定义约束,使用通常的语法:
ALTER TABLE products ADD COLUMN description text CHECK (description <> '');
一个新字段不能用非空约束,因为最初的时候该字段必须包含空值。 但是你可以稍后增加一个非空约束。同样,你也不能在一个新字段 上定义缺省值。根据 SQL 标准的说明,这样需要对现存行的新 字段填充缺省值,而这个特性还没有实现。但是你可以稍后调整 字段缺省。
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela
ALTER TABLE<表名>
[ADD<新列名><数据类型>[完整性约束]]
[DROP<完整性约束名>]
[MODIFY<列名><数据类型>];
新增的字段对于表中已经存在的行而言最初将先填充空值。
你也可以同时在该字段上定义约束,使用通常的语法:
ALTER TABLE products ADD COLUMN description text CHECK (description <> '');
一个新字段不能用非空约束,因为最初的时候该字段必须包含空值。 但是你可以稍后增加一个非空约束。同样,你也不能在一个新字段 上定义缺省值。根据 SQL 标准的说明,这样需要对现存行的新 字段填充缺省值,而这个特性还没有实现。但是你可以稍后调整 字段缺省。
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询