Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];

Вниз

Строка в SQL?   Найти похожие ветки 

 
ПЕТЯ   (2003-12-22 07:42) [0]

Как с помощью SQL запроса можно записать строку в обратном порядке, например: дом -> мод.


 
npAKTuk   (2003-12-22 07:45) [1]

никак!
Structured Query Language для работы с строками не предназначен!

ЗЫ а зачем? :)


 
Shirson   (2003-12-22 09:04) [2]

>npAKTuk © (22.12.03 07:45) [1]
>никак!


Правда, что-ли?

REVERSE(character_expression)

Или

declare
@s varchar(100),
@rev varchar(100),
@l int

set @s ="Строка для реверса"
set @l = DATALENGTH(@s)
set @rev=""

while @l>0
begin
set @rev=@rev+substring(@s,@l,1)
set @l=@l-1
end

select @rev

---------------

асревер ялд акортС



Учите мат.часть.


 
Johnmen   (2003-12-22 09:07) [3]

Shirson © (22.12.03 09:04)

Это где такое в SQL ??????????
И почему кроме запроса еще что-то ?????????


 
Shirson   (2003-12-22 09:13) [4]

>Johnmen © (22.12.03 09:07) [3]
>Это где такое в SQL ??????????


Это в MSSQL такое.

>И почему кроме запроса еще что-то ?????????

А почему бы ему там не быть?
И что значит "кроме запроса"? Что тут вкладывается в понятие "запрос"?


 
Johnmen   (2003-12-22 09:15) [5]

>Shirson © (22.12.03 09:13)

См.вопрос автора. Там все указано.


 
Shirson   (2003-12-22 09:22) [6]

Смотрю. И чем приведенный мной код не отвечает его требованиям?


 
Johnmen   (2003-12-22 09:28) [7]

Прикалываешься ? :)
Или где-то у автора написано про MS SQL ?
Или а автора сказано про что-то помимо запроса ?


 
Vlad   (2003-12-22 09:28) [8]


> Shirson © (22.12.03 09:22) [6]
> Смотрю. И чем приведенный мной код не отвечает его требованиям?

Тем что автор спрашивал про SQL запрос а не про ХП


 
Shirson   (2003-12-22 09:29) [9]

Хм... что-то наблюдаю недопонимание.

Что вы вкладываете в понятие "запрос"?


 
Vlad   (2003-12-22 09:31) [10]

> Shirson © (22.12.03 09:29) [9]
> Хм... что-то наблюдаю недопонимание.
>
> Что вы вкладываете в понятие "запрос"?


Неужто не знаете чем ХП от SQL запроса отличается ?

Учите мат. часть :-)


 
Anatoly Podgoretsky   (2003-12-22 09:43) [11]

Или ты издеваешься или одно из двух


 
Shirson   (2003-12-22 09:48) [12]

"Злые вы. Уйду я от вас."


 
Рамиль   (2003-12-22 10:10) [13]


> Shirson © (22.12.03 09:48) [12]

Обычно, в таком случае подразумевается стандарт SQL, независимый от СУБД.


 
Плохиш_   (2003-12-22 10:19) [14]

Ну вы чё не знаете, что SQL - это второе имя MSSQL ;-)


 
Ega23   (2003-12-22 10:28) [15]


> Плохиш_ (22.12.03 10:19) [14]

Не факт. Может MySQL?


 
Shirson   (2003-12-22 10:38) [16]

>Рамиль ©

В таком случае принято писать SQL-92, вообще-то.


 
Vlad   (2003-12-22 10:41) [17]


> Shirson © (22.12.03 10:38) [16]

Это что же, автору значит нужно было написать "помогите составить SQL-92-запрос", так чтоли :-)))


 
Sandman25   (2003-12-22 10:51) [18]

[16] Shirson © (22.12.03 10:38)

То есть SQL по умолчанию - это SQL для MS SQL?
А почему не Oracle или вообще Local SQL?


 
Shirson   (2003-12-22 12:33) [19]

Мда, ну и трепачи же вы :)
Я понимаю, что тут все очень умные и очень гордые.
Только, огромный плиииз, снизойдите с вершины своей гордости и блестните своим умом, в ответе на один простой вопрос, который тут прозвучал дважды - что такое "запрос"?
Без распальцовок, ссылок на абстрактные книжки и пр. Коротко и ясно.
Кто снизойдёт? :)


 
Johnmen   (2003-12-22 12:43) [20]

>Shirson © (22.12.03 12:33)

А можно еще немного распальцовки, ума и гордости ? Да ? Спасибо. :)
Так вот. Определение слова "запрос" можно найти в толковом словаре. И это не абстрактная книжка. И не заставляй других это делать :)
Нормально распальцевал ? :)


 
Vlad   (2003-12-22 12:47) [21]

А можно я тоже распальцую ? :-)
SQL-запрос - это Simple Query Language + формулировка "запрос" из толкового словаря :-)


 
Loneron   (2003-12-22 12:49) [22]

А что же скажет ПЕТЯ? :)


 
Johnmen   (2003-12-22 12:51) [23]

>Vlad © (22.12.03 12:47)

...Structured...:)


 
Shirson   (2003-12-22 12:55) [24]

>Johnmen © (22.12.03 12:43) [20]

Ну я прямо зАбАялся и сник :)

Я уже заметил, что тут не принято отвечать прямо, а принято выёживаться. И ответить на вопрос это признак слабости. Угу?
Гораздо лучше для репутации сказать "читай книжку/словарь/FM" и сделать многозначительный вид.

Я прошу НЕВОЗМОЖНОГО? Дайте определение понятия "запрос". Просто возьмите и напечатейте на клавиатуре. Вы же его знаете (?)

Я не издеваюсь, я не насмехаюсь - я пытаюсь понять.
Почему и
Select ...
и
set @h="f"
и
Create Table...

в доке называется "запрос" (query), а вы утверждаете, что нет.


 
Shirson   (2003-12-22 12:58) [25]

>Vlad © (22.12.03 12:47) [21]
>А можно я тоже распальцую ? :-)
>SQL-запрос...


Это масло маслянное.


 
Vlad   (2003-12-22 13:00) [26]


> Shirson © (22.12.03 12:55) [24]

Ну есть же разница между SQL и DDL ? А ?
И вобще ты о каких запросах спрашиваешь ?
один SQL запрос = одно предложение в рамках стандарта SQL
Язык ХП - это есть процедурное расширение языка SQL.

>Johnmen © (22.12.03 12:51) [23]
Я и ту и другую формулировку встречал, не знаю какая из них официальная


 
Vlad   (2003-12-22 13:01) [27]


> Shirson © (22.12.03 12:58) [25]
> >Vlad © (22.12.03 12:47) [21]
> >А можно я тоже распальцую ? :-)
> >SQL-запрос...
>
> Это масло маслянное.

Вот это 5 баллов :-)))


 
Sandman25   (2003-12-22 13:05) [28]

Shirson

Я, например, сейчас работаю с Paradox через BDE. Ни хранимых, ни REVERSE нет, и добиться реверса строки можно только в клиентской части. Я Вас убедил, что на SQL решить поставленную задачу нельзя? :)


 
kaif   (2003-12-22 13:08) [29]

2 Shirson © (22.12.03 12:58) [25]
Кроме MSSQL существуют другие СУБД. Например, в IB сабж можно сделать с помощью UDF.Как по твоему, такой ответ на сабж корректен:
1. Берешь решение Евлампия (22.12.03 12:08) [29], форум "Потрепаться", "Самый нестандартный алгоритм"
http://delphimaster.net/view/15-1072049611/
2. Оформляешь входной параметр, как PChar (если не вру).
3. Засовываешь это в dll, соглашение вызова cdecl.
4. Объявляешь с помощью DECLARE FUNCTION в базе данных, не забудь FREE_IT.
5. Юзаешь.
-----------------
Если бы спрашивающий указал в вопросе сервер баз данных MSSQL - ты был бы прав. А если он на Local SQL хочет ответ на сабж получить? Откуда мы знаем, что он с MSSQL работает?
Замечание, что MSSQL как-то стали постепенно SQL-ом называть, возможно и вызывает всю путаницу.


 
Shirson   (2003-12-22 13:12) [30]

>Vlad © (22.12.03 13:00) [26]
>Ну есть же разница между SQL и DDL ? А ?


The SQL language has two main divisions: Data Definition Language (DDL), which is used to define and manage all the objects in an SQL database, and Data Manipulation Language (DML), which is used to select, insert, update, and delete data in the objects defined using DDL. The Transact-SQL DDL used to manage objects such as databases, tables, and views is based on SQL-92 DDL statements, with extensions.

И? :) SQL состоит из DDL и DML.
(вот же чёрт.. зачем же я отвечаю? Нужно же сказать - "Vlad, читайт доку" и важно нахмуриться :))

>И вобще ты о каких запросах спрашиваешь ?
Я спрашиваю - ЧТО ВЫ ПОНИМАЕТЕ ПОД ТЕРМИНОМ "ЗАПРОС"
(вы - всмысле все отметившиеся тут).
Я уже ответил, что понимаю под ним я - то что называется английским словом query и используется во всех доках по SQL.

>один SQL запрос = одно предложение в рамках стандарта SQL

Ну наконец-то... Спасибо.
(сразу это написать нельзя было, гордость не давала? :))

Тогда, на основе данного определения, вопрос к Johnmen.

Как понимать твою фразу "И почему кроме запроса еще что-то ?" :)
А что, там есть что-то, что не-запрос? ;)


 
Shirson   (2003-12-22 13:15) [31]

>kaif © (22.12.03 13:08) [29]
>2 Shirson © (22.12.03 12:58) [25]
>Кроме MSSQL существуют другие СУБД.

Да ты что??? Вот же блин, а я и незнал... :)
Хотя, наверное знал, раз привёл другой вариант, а?


 
Johnmen   (2003-12-22 13:16) [32]

>Shirson © (22.12.03 12:55)

Просто ты молодой, горячий. С присущим молодости желанием поспорить по-пустому. И показать, что чего-то знаешь...:)
А у нас, стариков, желание тебя одернуть и показать, что ты ничего не знаешь :)))))))

>Shirson © (22.12.03 13:12)

Всё, что за рамками select...


 
kaif   (2003-12-22 13:17) [33]

Интересно бы узнать мнение ПЕТИ, все же. Что, собственно ему нужно? И какой сервер используется. Может быть окажется, что npAKTuk ©-у не нужно учить матчасть MSSQL, для того чтобы ответить на сабж правильно?


 
Shirson   (2003-12-22 13:24) [34]

>Sandman25 © (22.12.03 13:05) [28]
>Я, например, сейчас работаю с Paradox через BDE. Ни хранимых, ни REVERSE нет, и добиться реверса строки можно только в клиентской части. Я Вас убедил, что на SQL решить поставленную задачу нельзя? :)


Пока что, я убедился, что большинство считает, что SQL=DML, включая старого и сгорбленного опытом Johnmen :)
И специально для него могу уточнить, что, как команды DML, так и команды DDL являются частью SQL. И то пример, который я привёл, написан на языке SQL и в умной книжке "Understanding SQL" от Martin Gruber, подобные вещи называются как "многострочный запрос". (если всё, что зарамками select не запрос, тогда что это? :))


 
Vlad   (2003-12-22 13:25) [35]


> Shirson © (22.12.03 13:12) [30]

Да, видимо я должен был написать DML-запрос, вот тока непривычно на слух как-то... Сорри.
НО! Бьюсь об заклад, что автор под словом SQL-запрос также понимает DML запрос (это я тут телепатии учусь) и уж тем более он не спрашивал о хранимых процедурах, которые сами по себе SQL-запросом не являются (к вопросу о матчасти). Еще спорить будем ?


 
Shirson   (2003-12-22 13:26) [36]

сорри, рано кнопку нажал.

>Sandman25
А в Paradox команда substring (или её аналог) есть?


 
kaif   (2003-12-22 13:27) [37]

2 Shirson © (22.12.03 13:15) [31]
Не кипятись. Твой ответ совершенно корректный, если бы спрашивающий указал сервер MSSQL. И тогда ответ npAKTuk ©-а был бы совершенно не по существу (исключительной придиркой к словам).
Указать сервер в вопросе можно и интерфейс форума а это позволяет, а правила рекомендуют.
Так как сервер в вопросе не указан, это свидетельствует о том, что либо вопрос самый общий (об SQL вообще) или спрашивающий еще вообще не разбирается SQL. Или, например, он пишет PHP-скрипт для работы с MySQL. И твой код для него совершенно бесполезен. И тогда совет npAKTuk ©-у учить матчасть звучит странно. Гораздо разумнее звучит вопрос npAKTuk ©-а "а зачем?".
Согласись, что если задающему вопрос нужно, что-то вроде

select name from table1
where name = "вася" or name = "ясав"

то твой ответ вообще далек от реализации этой задачи.


 
kaif   (2003-12-22 13:30) [38]

А где ПЕТЯ?


 
Sandman25   (2003-12-22 13:34) [39]

[36] Shirson © (22.12.03 13:26)

Substr есть. Но вот Length нет. А без него никак. Да и с ним тоже без хранимой не обойтись. Простейший случай - поле CHAR(3).
select substr(field, 3,1)||substr(field, 2, 1)||substr(field, 1, 1) from table
Ну а если в поле всего 2 символа? Получим не то, что ожидаем. Пробелы нам не нужны.

Пока что, я убедился, что большинство считает, что SQL=DML

Нет. ИМХО, большинство считает SQL=стандарт SQL. Либо SQL-92, либо SQL-99, либо вообще что-то простейшее уровня Local SQL.


 
Vlad   (2003-12-22 13:34) [40]


> kaif © (22.12.03 13:30) [38]
> А где ПЕТЯ?

Зачем он тебе ? :-)



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

Форум: "Базы";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.56 MB
Время: 0.011 c
14-63392
wnew
2003-12-23 19:19
2004.01.20
Рождественская ёлка:)


1-63182
Mr. Chel
2004-01-10 12:46
2004.01.20
Стандартный Popup и как с ним бороться


1-63221
Rouse_
2004-01-08 13:58
2004.01.20
График по четырем точкам


1-63168
DDA
2004-01-10 18:57
2004.01.20
ComboBox


14-63339
Unknown
2003-12-30 10:33
2004.01.20
Минимальная программа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский