2012-06-07 4 views
0

Я знаю, что это простой вопрос, но я не могу заставить его работать.SELECT SqlCommand

Это мой запрос в моем SqlCommand:

SELECT * FROM zipcode WHERE city LIKE @prefixtext + '%' ; 

Я хочу только 10 результатов, каждый ответ предполагает

SELECT TOP 10 * FROM zipcode WHERE city LIKE @prefixtext + '%' ; 
SELECT * FROM zipcode WHERE city LIKE @prefixtext + '%' LIMIT 10 ; 

оба не работают

+0

Я, вероятно, ошибаюсь в этом, так как я не очень хорошо знаком с SQL Server, но я не думаю, что это + конкатенация. – Corbin

+0

Действительно ли 'zipcode' является вашим именем таблицы или именем столбца, который вы хотите получить? Основным форматом запроса является 'SELECT column_name' (или' * 'для всех столбцов)' FROM table_name WHERE ... ' – bfavaretto

+0

@Corbin,' + 'выполняет конкатенацию строки в SQL Server. – bfavaretto

ответ

2

Я считаю, что эти все правильно.

Oracle:

select * from zipcode where city like @prefixtext + '%' and rownum <=10 

SQL Server/Sybase:

select top 10 * from zipcode where city like @prefixtext + '%' 

DB2/PostgreSQL:

select * from zipcode where city like @prefixtext || '%' fetch first 10 rows only 

MySQL:

select * from zipcode where city like @prefixtext + '%' limit 10 
0
declare @like varchar(50) 

set @like = @prefixtext + '%'; 

SELECT TOP 10 * FROM zipcode WHERE city LIKE @like 
-1
Select * from zipcode where city like @prefixtext + '%' 
+0

Не держит «Я хочу только 10 результатов» –

Смежные вопросы