【发布时间】:2016-11-21 12:48:55
【问题描述】:
我有一个需要提高性能的通配符搜索:
mycolumn like '%-%%-%'
有办法做到这一点吗? (例如,有全文索引?)
Obs:我必须在文本中找到符合模式的日期,例如 21-07-2016。
编辑
我有一个无法更改结构的旧数据库。所以,我有一列是 nvarchar(max)。在此列中可以存储文本和日期。我必须找到插入日期的行。
【问题讨论】:
-
您要搜索的字段的数据类型是什么?
-
@RichBenner nvarchar(max)
-
我的第一个问题是您为什么不将这些存储为日期时间字段?您能否提供一些您正在搜索的数据的示例,以便我们准确了解问题所在
-
@RichBenner 因为我无法更改数据库结构。是遗留系统的遗留数据库。在当前列中可以保存文本和日期(当然作为文本)。所以,我必须找到保存日期的行,比如模式 dd-mm-yyyy 之后的文本。
-
你能扩展数据库吗?也许添加一个解析字段并在其上有索引的视图?
标签: sql-server performance date wildcard