我在以下表结构中得到以下查询:
select *
from [dbo].[Interpurchase_Intervals_1]
where client_id = '24'
表格结构:
Client_ID nvarchar(10, null)
Customer_ID nvarchar(max, null)
Gradient decimal ((18,5), null)
查询:
select distinct [Client_ID]
from [dbo].[Interpurchase_Intervals_1]
返回:
Client_ID
----------
13
24
8
查询:
select *
from [dbo].[Interpurchase_Intervals_1]
返回:
classification Client_ID
----------------------------
1 24
2 24
1 13
但是,当我运行此查询时:
select *
from [dbo].[Interpurchase_Intervals_1]
where client_id = '24'
我得到一个空的结果集。
我不明白为什么通过client_id = '24'过滤数据会在返回时返回一个空数据集:
classification Client_ID
------------------------
1 24
2 24
答案 0 :(得分:0)
如果Client_ID
列中有不需要的空格,最好的办法就是删除它。如果你不能这样做,那么在你的查询中处理它的一个选项是修剪它:
SELECT *
FROM [dbo].[Interpurchase_Intervals_1]
WHERE LTRIM(RTRIM(client_id)) = '24'