我需要在MS Access 2010中的大型(650 MB)数据表上运行查询。字段的所有数据类型都是文本,但是某些字段包含所有数字,即使数据类型是文本也是如此。因此,我必须将文本转换为long int,以便选择(例如)在指定字段中值大于10的所有记录。但是,每当执行此操作时,我都会收到类型不匹配错误,这可能是由于比较了文本字段的数值所致。这是查询的SQL,应从所有文本数据类型的字段中选择。
SELECT [Organization legal name], [Number of Group Practice members], City, State
FROM massivetable
WHERE Clng([Number of Group Practice members])>10
AND State='CT';
我试图在设计视图中将字段的数据类型转换为长整数,但是该操作失败,并显示一条消息,指出没有足够的内存来执行该操作。
谁能告诉我如何解决上面的代码,以便它选择值大于10的所有记录,而不会引发类型转换错误?
使用IsNumeric函数:
SELECT [Organization legal name], [Number of Group Practice members], City, State
FROM massivetable
WHERE Iif(IsNumeric([Number of Group Practice members]), Clng([Number of Group Practice members]), 0) >10
AND State='CT';
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句