2010-10-02 3 views
0

У меня есть столбец в таблице SQL, которые будут иметь данные, как это:Split на двоеточиями в SQL Server

«Колледж: Куинси колледж» или «Университет: Университет Квинсленда»

Текст до ":" может быть другим. Итак, как я могу выбрать только текст перед ":" из столбца и текста после ": (пробел)"?

+1

Какую базу данных и версия? –

+0

MS SQL 2005 .... –

ответ

4

Вы, вероятно, следует рассмотреть вопрос о создании вашей таблицы в first normal form вместо того, чтобы хранить 2 части данных в одной и той же колонке ...

;with yourtable as 
(
select 'College: Queenstown College' as col UNION ALL 
select 'University: University of Queensland' 
) 
select 
    left(col,charindex(': ',col)-1) AS InstitutionType, 
    substring(col, charindex(': ',col)+2, len(col)) AS InstitutionName 
from yourtable 
+0

Большое вам спасибо. Это работает .... –

+0

Возможно получить текст после ": "? –

+0

@Wee - Да. См. Править. –

1

Использование функций charindex и substring:

substring(theField, 1, charindex(':', theField) - 1) 
Смежные вопросы