1

我正在使用 Sql Server 2014 Express 并且有一个 varchar(max) 列。在某些情况下,我需要使用特殊字符来为该字段赋予特殊含义。

例如,我有这个值:“123.456.234”,但我想使用类似的值:“678.*789.123”。在第二种情况下, * 表示值 789 不是标准值(我的应用程序逻辑中的标准值),而其他两个值 678 和 123 是标准值。

但是我不知道当我想在查询中使用此列进行搜索时,是否使用“*”会遇到问题。我可以使用任何字符,我只想分隔字符串中特定值的含义。

非常感谢。

4

1 回答 1

1

一个字符到另一个字符的搜索速度是相同的。

如果您使用的是like,那么如果您使用通配符之一,则必须对其进行转义。但 * 不是通配符。

如果这些是三个不同的值,那么它们不应该在同一个条目中。查找第三范式(3NF)。

Varchar(max) 无法被索引。

于 2015-10-29T10:30:03.403 回答