【发布时间】:2013-08-05 08:07:40
【问题描述】:
可能是一个愚蠢的问题。
我需要在 join 和 where 中大量使用这个:
REPLACE(table_a.column_1, '-', '') = REPLACE(table_b.column_2, '-', '')
由于其他公司系统的位数据不一致
这是否可能或任何其他数据库类型都可以使用 REPLACE 函数对列进行索引?例如:
ALTER TABLE `table_a` ADD INDEX ( REPLACE(`column_1`, '-', '') ) ;
数据库类型:MyISAM
【问题讨论】:
-
为什么
table_a.column_1 = table_b.column_2在这里不起作用? -
我在某处读到,在变量上使用函数不使用索引,也不能在函数上创建索引,因为函数输出未确定,所以,我的答案是否定的
-
@AshwinMukhija 也许他的数据有更多——来自其他公司的数据库然后他们有......
-
@Sumit Gupta 没错,表格来自不同的公司,Sylvain 建议的触发器会做滴答声,谢谢
标签: mysql sql replace indexing myisam