2012-04-30 29 views
5

Tôi có một tên bảng cơ sở dữ liệu test123 và có cột name. Và nó có chứa các dữ liệu như 'nir,kal,man' Bây giờ, khi tôi đang truy vấn bảng với lựa chọn công bố theo dưới đây:Lệnh Chọn đơn giản không trả lại bất kỳ kết quả nào

select * from test123 where name = 'nir,kal,man'; 

Nhưng điều này sẽ không quay trở lại bất kỳ kết quả ... Tại sao điều này xảy ra.? Làm thế nào tôi phải viết truy vấn để trả lại kết quả? Tôi đang sử dụng máy chủ Sql 2008.

Cảm ơn ...!

+1

Là 'nir, kal, man' một tên duy nhất, hoặc ba tên khác nhau' nir', 'kal',' man'? !!! Tôi nghĩ có thể bạn đang thiếu 'SPACE' ở đâu đó. kiểm tra truy vấn bằng toán tử 'LIKE' .. –

Trả lời

5

= điều hành trả về kết hợp chính xác, vì vậy nếu di động của bạn chứa dữ liệu "like" mà bạn cần phải sử dụng LIKE điều hành:

select * from test123 where name like '%nir,kal,man%' 

nơi % sẽ được thay thế bằng bất kỳ tập hợp ký tự.

Ngoài ra kiểm tra mà bạn đang nhắm mục tiêu cơ sở dữ liệu chính xác bằng cách sử dụng tên đầy đủ

select * from yourdb.dbo.test123 where.... 
3

nếu Nir là ở hàng đầu tiên Kal ở hàng thứ 2 và người đàn ông là ở hàng thứ 3 sau đó bạn nên viết truy vấn như thế này

select * from test123 where name in ('nir','kal','man') 
+0

tôi đã thử truy vấn này nhưng không làm việc cho tôi. –

+0

Chỉ cần thay đổi 'select * từ test123 trong đó name = ('nir', 'kal', 'man')' thành 'select * từ test123 nơi tên IN ('nir', 'kal', 'man')': -) –

Các vấn đề liên quan