【发布时间】:2011-03-18 00:40:35
【问题描述】:
我无法让 like 语句与空格和尾随通配符一起使用。 我的查询如下:
select * from Table where Field like 'Desc_%'
数据以空格分隔,例如 Desc Top、Desc Bottom 等。当我使用模式“Desc_%”时查询有效,但当我使用模式“Desc %”时查询无效。该字段是 nvarchar(255)。
有什么想法吗?
编辑
原来数据是制表符分隔的,当我从 2008 Management Studio 复制一个值时,它会将制表符转换为空格。愚蠢的错误。我确实喜欢 [ ] 提示,所以我将其标记为答案。谢谢大家,我会记住不要相信网格结果中的副本。
【问题讨论】:
-
“like 'Desc%'”不起作用的具体原因是什么?
-
@AllenG -“LIKE Desc%”不会将自身限制为“Desc”(D-e-s-c-blank),它会选择以“Desc”开头的任何内容
-
@DaveE - 是的,它会,但如果他的专栏中唯一可能出现的内容是“Desc Top”、“Desc Bottom”、“Desc InsideOut”等,而不是“Descendant of Charlemaine',使用 Like Desc% 没有实际障碍。当然,如果他的表确实包含其他值,那么他就有问题了。
-
腰带和吊带。显然他的数据不是他所期望的。 FIND 'Desc %' 在 SS2005 上对我有用。
-
@DaveE 你是对的,有一个标签......呃
标签: tsql wildcard space sql-like