【发布时间】:2013-08-04 10:33:50
【问题描述】:
在 Oracle 中,LIKE 运算符可以使用或不使用通配符。 例如“where name like 'SMITH'”将返回 name 列正好是 'SMITH' 的行, 和 "where name like 'SMITH%'" 将返回 name 列以 'SMITH' 开头后跟 0 个或多个其他字符的行。
但是,在 Teradata 中,“像 'SMITH' 这样的名称”不会返回任何内容。如果不使用通配符,ANSI 标准是否不指定 LIKE 运算符的行为?
布尔代数说 'SMITH' 就像 'SMITH' 是真的。 Oracle 就是这样做的; Teradata 没有。是否可以调整 Teradata SQL 以使 LIKE 运算符既可以使用通配符也可以不使用通配符?
【问题讨论】:
-
“可以调整 Teradata SQL 以使 LIKE 运算符在使用和不使用通配符的情况下都可以工作吗?” - 是的:如果不存在,请添加通配符。
-
布尔代数什么时候这么说的?我一定错过了那个谈话。是在 TED 上吗?