我有以下查询,正在寻找'BG'
的销售人员。
SELECT *
FROM [dbo].[JobOrders]
where [salesperson] = 'BG'
当我使用'bg'
时,我没有得到结果。据我所知'BG'
或'bg'
会带来相同的结果。
是否有可以防止这种情况的设置?
答案 0 :(得分:0)
为避免这种情况,您可以随时使用大写
进行检查SELECT *
FROM [dbo].[JobOrders]
where upper([salesperson]) = 'BG'
答案 1 :(得分:0)
您的salesperson
列几乎肯定是外键,因此可能会被一致的值限制(即它们应该都是大写),所以:
SELECT *
FROM [dbo].[JobOrders]
WHERE [salesperson] = UPPER('bg')
这将允许索引仍然用于salesperson
列。
答案 2 :(得分:0)
您可以使用排序规则使其不区分大小写:
SELECT *
FROM [dbo].[JobOrders]
where [salesperson] = 'BG' COLLATE SQL_Latin1_General_CP1_CI_AS