Разделить строку в T-SQL - PullRequest
       30

Разделить строку в T-SQL

1 голос
/ 06 августа 2009

Как мне получить строку "text." из строки "This is my text."?

Ответы [ 5 ]

7 голосов
/ 06 августа 2009

<code>SELECT SUBSTRING('This is my text.',CHARINDEX('text.','This is my text.'),5)

Right() потерпит неудачу, если text. будет в середине строки.

6 голосов
/ 06 августа 2009

<code>SELECT RIGHT('This is my text.',5)
1 голос
/ 06 августа 2009

Полагаю, вы хотели бы найти «текст». в любом строковом литерале или поле в таблице. Вот мой подход (возвращение исходного текста для поиска, текста для поиска, начальной позиции найденного текста и извлеченного текста):

declare @original varchar(1000), @find varchar(10)

set @original = 'This is my big string and I want to find the word "text" in it.'
set @find = 'text'

select  @original as original
     ,  @find as to_find
     ,  charindex(@original, @find) as start_position
     ,  substring(@original, charindex(@find, @original), len(@find)) as extract

Конечно, замените @original для поля в таблице, которую вы ищете, если применимо.

0 голосов
/ 06 августа 2009

Не бесполезно, здесь есть ссылка здесь , которая детализирует это.

0 голосов
/ 06 августа 2009

Это конкретный пример более общей проблемы? @ КМ ответит просто, но я собирался сказать

SELECT 'text'

Я предполагаю, что вы ищете что-то еще?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...