2015-01-16 2 views
0

Этот код выполняет штраф в MySQL:SUBSTRING_INDEX»Ошибка

SELECT SUBSTRING_INDEX(empid, '-', 1) 
FROM employees 

Но он выдает эту ошибку в SQL Server:

„SUBSTRING_INDEX“не является признанным встроенным именем функции.

Я не хочу использовать предложение where.

+5

Ошибка довольно понятны, 'SUBSTRING_INDEX' не встроенная функция в SQL Server. Какой у Вас вопрос? – GarethD

+0

Как я могу изменить запрос, чтобы использовать его в MS SQL-сервере – abhishek

+0

Для этого конкретного примера вы можете использовать что-то вроде: 'SELECT LEFT (empid, CHARINDEX ('-', empid, 1) - 1) FROM employees' - Это не совсем сопоставимый с SUBSTRING_INDEX (отсюда комментарий не ответ), но он должен работать для вашего дела. – GarethD

ответ

3

В SQL Server, вы можете сделать:

select (case when empid like '%-%' 
      then left(empid, charindex('-', empid) - 1) 
      else empid 
     end) 
from employees; 
Смежные вопросы