繁体   English   中英

在Access 2010中执行SQL子查询时,“条件表达式中的数据类型不匹配”

[英]“Data type mismatch in criteria expression” when doing SQL subquery in Access 2010

这是我的简化代码(除了使SQL无法执行的一些基本元素之外):

select *
from (
    select replace(mytxtfield, "llama", "") as badones 
    from XYZ
)
where badones is not null;

当WHERE原因是时,外部查询运行良好:

 badones like "ZZZ-[0-9][0-9][0-9]"

但是当WHERE原因包含多个(任何数字匹配模式的)LIKE时,它将中断,例如:

badones like "ZZZ-[0-9][0-9]" OR 
badones like "ZZZ-[0-9][0-9][0-9]"

更多信息:

  • mytxtfield的类型为Text
  • 内部查询中是否存在WHERE原因无关紧要,以检查消除空/空字符串。
  • 64位办公室

由于子查询返回别名“ badnews”,因此您必须在外部查询中使用它代替“ badones”。 以下不会产生任何错误:

SELECT *
FROM (select replace(mytxtfield, "llama", "") as badnews 
    from XYZ
)  
WHERE (((badnews) Like "ZZZ-[0-9][0-9]" Or (badnews) Like "ZZZ-[0-9][0-9][0-9]"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM