Вниз
Скачать: CL | DM;

Выкусить последнее слово в строке   Найти похожие ветки 

← →
ivc_andr   (2004-12-29 12:16) [0]

Подскажите пожалуйста, можно ли простым запросом выкусить последнее слово в Char-поле?


← →
Nikolay M. ©   (2004-12-29 12:22) [1]

Может "закусить"? Или "надкусить"?  :)
А если по-русски?


← →
Ega23 ©   (2004-12-29 12:22) [2]

Простым - нельзя.
Что такое "Простое слово"?


← →
Ega23 ©   (2004-12-29 12:22) [3]

В смысле "последнее слово"?


← →
msguns ©   (2004-12-29 12:27) [4]

Наверное, что-то броде этого

        CharField           ->         ResultDataSet          
     "Мама мыла раму"                     "раму"
     "Папа бухал самогон"                "самогон"


← →
Nikolay M. ©   (2004-12-29 12:29) [5]


> msguns ©   (29.12.04 12:27) [4]
> Наверное, что-то броде этого

:)
А если без пробелов "Папа пил,хулиганил,дрался."?


← →
DimaK   (2004-12-29 14:22) [6]

можно, но для этого надо написать функцию в MSSQL...


← →
Соловьев ©   (2004-12-29 14:34) [7]

А что такое простой запрос?

declare
@last_word varchar(100),
@pos int,
@line varchar(255)

set @line = :param
set @pos = (select PATINDEX("% %", @line))

while @pos > 0
begin
set @line = (select substring(@line,@pos+1,len(@line)))
set @pos = (select PATINDEX("% %", @line))

end

select @line


← →
Nikolay M. ©   (2004-12-29 17:38) [8]


> Соловьев ©   (29.12.04 14:34) [7]

Можно сделать REVERSE и обойтись без цикла. Ессесно, если разделитель слов - пробел.

DECLARE
 @s CHAR(255)

SELECT
 @s = " 12 34 56 78 "

SELECT
 RIGHT (RTRIM (@s), PATINDEX ("% %", REVERSE (RTRIM (@s))) - 1)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
3-1104177126
NEEDHELP
2004-12-27 22:52
2005.01.30
Oshibka pri vvode dati =(


1-1105870166
DimDim
2005-01-16 13:09
2005.01.30
Копировать каталог


1-1105897627
Ice-Man
2005-01-16 20:47
2005.01.30
Bitmap и Image


3-1103897690
Midas.dll
2004-12-24 17:14
2005.01.30
как зарегистрить


14-1105508908
Копир
2005-01-12 08:48
2005.01.30
Пиво в России опять можно пить свободно!




   Наверх