Форум: "Базы";
Текущий архив: 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]
> А где ПЕТЯ?
Зачем он тебе ? :-)
← →
kaif (2003-12-22 13:37) [41]2 Vlad © (22.12.03 13:34) [40]
Хочется узанть, что ему было нужно. Тогда все встанет на свои места. Например, станет ясно, какая стратегия в ответах на вопросы на форуме в условиях недостатка информации более правильная - отождествлять SQL с MSSQL или отождествлять SQL с ANSI-92.
← →
Johnmen (2003-12-22 13:38) [42]>Shirson © (22.12.03 13:24)
Старые, сгорбленные, измученные жизнью джонмены считают, что DDL-запросы это CREATE, ALTER etc, DML-запросы это SELECT, UPDATE etc. Про это они читали в описании стандарта SQL. Когда были молодыми :)
Всё остальное они называют языком расширения, специфическим для конкретного применения, и не имеющего отношения к SQL запросам. Но помогающего жить.
← →
Shirson (2003-12-22 13:39) [43]>Vlad © (22.12.03 13:25) [35]
>Да, видимо я должен был написать DML-запрос, вот тока непривычно на слух как-то... Сорри.
НО! Бьюсь об заклад, что автор под словом SQL-запрос также понимает DML запрос (это я тут телепатии учусь) ...
Телепатия? Это из DML или из DDL? :))))))
>и уж тем более он не спрашивал о хранимых процедурах, которые сами по себе SQL-запросом не являются (к вопросу о матчасти). Еще спорить будем ?
Я пока до телепатии в доке не дошёл, поэтому затрудняюсь ответить :)
Ладно, теберь без шуток.
Если данную задачу нужно решить в однострочном запросе (не выходя за рамки SQL-92), то это алес.
← →
Johnmen (2003-12-22 13:39) [44]>kaif © (22.12.03 13:37)
Про стратегию мне понравилось :))))))))))
← →
Vlad (2003-12-22 13:40) [45]
> kaif © (22.12.03 13:37) [41]
Зачем SQL с чем-то отождествлять, когда это само по себе совершенно конкретное и четкое понятие ? В рамках заданного автором вопроса ответ уже был получен, см. npAKTuk © (22.12.03 07:45) [1] :-)
← →
Vlad (2003-12-22 13:43) [46]
> Shirson © (22.12.03 13:39) [43]
> Я пока до телепатии в доке не дошёл, поэтому затрудняюсь
> ответить :)
А ты чаще сюда заглядывай. И дойдешь :-)
← →
kaif (2003-12-22 13:49) [47]2 Johnmen © (22.12.03 13:38) [42]
А мне понравилось про старых, сгорбленных, измученных жизнью джонменов :)))
2 Vlad © (22.12.03 13:40) [45]
Форум существует не для получения четких ответов, а для получения полезных ответов.
Есть такой анекдот. Холмс и Ватсон летят на воздушном шаре. Полный туман. Шар на секунду приближается к земле и они видят джентльмена, который идет по дороге. Холмс кричит:
-Сэр, не подскажете ли нам, где мы сейчас находимся?
-В корзине воздушного шара, сэр!
Шар взлетает обратно в небеса и Холмс говорит:
-Ватсон, этот человек - математик!
-Как Вы догадались, Холмс?!!
-Элементарно, Ватсон. Он дал самый правильный и точный, но абсолютно бесполезный ответ.
← →
Shirson (2003-12-22 13:51) [48]>Vlad
Я сюда не первый год заглядываю. И на равне с нормальными ответами вижу пальцегнутие. Я не про тебя, конкретно, я вообще, про форумы. Сам можешь посмотреть на ответы в ветках.
Есть пара человек, которые конкретно отвечают на вопрос, а остальные...
Меня не столько это задевает (я спрашиваю мало, а если спрашиваю, то мало кто (или никто) ответить не может :)), сколько обидно за мнение, которое о форуме у людей складывается.
← →
MV (2003-12-22 13:53) [49]В форумах обычно или новички сидят, или бездельники, или интернет-наркоманы...
← →
kaif (2003-12-22 13:55) [50]2 MV (22.12.03 13:53) [49]
А еще модераторы.
← →
Vlad (2003-12-22 13:55) [51]
> kaif © (22.12.03 13:49) [47]
Да-да, знаем этот анекдот, но только в том варианте который я слышал это был не математик, а программист :-) Это немного ставит под сомнение твою фразу:
> Форум существует не для получения четких ответов, а для
> получения полезных ответов.
Но тем не менее ответ на вопрос, в том виде в котором он был поставлен, был дан в первом же посте, а все - лишь предположения. Да и ПЕТЯ куда-то пропал, видимо не хочет получать полезный ответ.
← →
Johnmen (2003-12-22 14:02) [52]>Shirson © (22.12.03 13:51)
Ты просто постарайся понять одну простую вещь. То, что ты считаешь "распальцовкой", в подавляющем большинстве случаев ей не является.
Молодости свойственен максимализм, нигилизм и болезненно обостренное чувство "распальцовки". Знаю, сам таким был :)
← →
Shirson (2003-12-22 14:06) [53]>Johnmen
Ты слишком часто обращаешься к возрасту оппонента. Это говорит либо о комплексе, либо о твоём юнном возрасте. :) Тут обсуждаются не возростные группы, а отношения посетителей форума друг к другу.
И они тут, частенько, отвратительные.
← →
Плохиш_ (2003-12-22 14:10) [54]>Shirson © (22.12.03 14:06) [53]
> они тут, частенько, отвратительные
Это точно!
По нескольку раз на день "Как раскрасить грид?", "Как запихнуть туда где часики?"
;-)
← →
MV (2003-12-22 14:13) [55]Как же без вас тут, мальчики, люди узнали бы, что им надо научиться жать F1, или, "как Мы", безвылазно сидеть в форуме.
Ой, чуть не забыл добавить ИМХО.
← →
Johnmen (2003-12-22 14:16) [56]>Shirson © (22.12.03 14:06)
Ну вот опять... Яркое проявление юношеского максимализма.
К возрасту оппонента я никогда не обращаюсь. Да и нет здесь оппонетов. Потому, что нет никакого спора !
А душой я юн !
Из всего сказанного не стоит делать никаких выводов о моём отношении к кому бы то ни было !
← →
Vlad (2003-12-22 14:18) [57]
> Johnmen © (22.12.03 14:16) [56]
> А душой я юн !
Подтверждаю !
Вы бы видели какие он стихи про ADO сочиняет ! :-)
← →
MV (2003-12-22 14:21) [58]А в если в "Потрепаться", то никто и не заметит, правда?
Вечно юные вы наши.
← →
ПЕТЯ (2003-12-22 15:06) [59]О-о-о блин нифига себе дискуссия!!!
Да зделал я все уже давно через REVERSE. Спасибо всем за интересные рассказы.
← →
JibSkeart (2003-12-22 15:18) [60]:)
← →
Ega23 (2003-12-22 15:18) [61]Во как! А вы ругались!
← →
Johnmen (2003-12-22 15:23) [62]>Ega23 © (22.12.03 15:18)
О как ! Ничуть !
← →
kaif (2003-12-22 16:00) [63]Отныне если про SQL что-нибудь спрашивают и
сервер не указывают -
сразу надо понимать: речь об MSSQL идет.
Shirson © (22.12.03 09:04) [2] оказался прав.
Так что впредь на вопрос "народ, а как сделать курсор?" придется сразу соответствующий код для MSSQL приводить, а не задаваться досужими вопросами о каком курсоре вообще речь идет....
:(
← →
Sandman25 (2003-12-22 16:03) [64][63] kaif © (22.12.03 16:00)
Нелогично ИМХО. 100 человек говорят SQL, имея в виду ANSI-SQL.
Затем один человек говорит SQL, имея в виду MS SQL.
Почему нужно забывать о первых 100 людях? Только потому, что 101-ый был последним?
← →
Vlad (2003-12-22 16:22) [65]
> kaif © (22.12.03 16:00) [63]
Тут многие в своих вопросах под словом "DBGrid" подразумевают "DataSet". Так давайте же отныне под DBGrid"ом понимать DataSet? :-)
← →
Val (2003-12-22 17:58) [66]>Shirson ©
На мой взгляд, можно попробовать объяснить так: SQL - действительно состоит из DML и DDL. Но в промышленных серверах используется расширения этого самого стандартного SQL, т.н. "процедурный SQL", что в Oracle есть PL/SQL, в MSSQL это T-SQL(если не ошибаюсь) и т.д.
← →
panov (2003-12-22 19:32) [67]>Shirson ©
Что такое запрос ?
Запрос - команда которую вы даете вашей программе базы данных, и которая сообщает ей чтобы она вывела определенную информацию из таблиц в память. Эта информация обычно посылается непосредственно на экран компьютера или терминала которым вы пользуетесь, хотя, в большинстве случаев, ее можно также послать принтеру, сохранить в файле ( как объект в памяти компьютера ), или представить как вводную информацию для другой команды или процесса.
Где применяются запросы ?
Запросы обычно рассматриваются как часть языка DML. Однако, так как запрос не меняет информацию в таблицах, а просто показывает ее пользователю, мы будем рассматривать запросы как самостоятельную категорию среди команд DML которые производят действие, а не просто показывают содержание базы данных.
Все запросы в SQL состоят из одиночной команды. Структура этой команды обманчиво проста, потому что вы должны расширять ее так чтобы выполнить высоко сложные оценки и обработки данных. Эта команда называется - SELECT(ВЫБОР).
(c) Введение в SQL. Мартин Грубер
Я думаю, что этого достаточно будет?
← →
Shirson (2003-12-23 08:20) [68]>ПЕТЯ (22.12.03 15:06) [59]
>Да зделал я все уже давно через REVERSE.
LOL
← →
Shirson (2003-12-23 08:22) [69]>panov
Спасибо. 3 страницы, до вашего поста, с меряньем пиписьками среди вечно молодых старцев весьма показательны. Они как собаки - всё понимают, только ничего сказать не могут.
← →
Shirson (2003-12-23 08:25) [70]>kaif © (22.12.03 16:00) [63]
>Shirson © (22.12.03 09:04) [2] оказался прав.
Начитавшись форума, я, сам того не ведая, прошёл ускоренные курсы телепатии.
← →
ПЕТЯ (2003-12-23 14:52) [71]Shirson. Спасибо большое за функцию!!!
Страницы: 1 2 вся ветка
Форум: "Базы";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];
Память: 0.63 MB
Время: 0.01 c