Forum Webscript.Ru

Общие => Базы данных => Тема начата: FANTAzeRus от 30 Ноября 2003, 23:08:17

Название: MySQL vs Строка Фиксированной длины
Отправлено: FANTAzeRus от 30 Ноября 2003, 23:08:17
Имеем:
Таблица
ttt  
  -id
  -text

Запрос
  Select text from ttt

Нужно:
В результате запроса отобразить ТОЛЬКО n символов СТРОКИ, начиная с первого и закончить ...!

Пример:

Вася пришел к пете и ...
Название: MySQL vs Строка Фиксированной длины
Отправлено: FANTAzeRus от 30 Ноября 2003, 23:10:06
Причем если строка имеет длину <= n то соответственно ... ненужно
Название: MySQL vs Строка Фиксированной длины
Отправлено: Меняздесьдавнонет от 30 Ноября 2003, 23:13:57
если тебе прямо так приспичило делать все это в запросе, то
length()
if()
substring()
concat()
документация
руки
Название: MySQL vs Строка Фиксированной длины
Отправлено: FANTAzeRus от 30 Ноября 2003, 23:54:05
2 все заинтересовавшихся:
SELECT IF(LENGTH(text)>=25,CONCAT(SUBSTRING(text,1,24),\'...\'),text) TEXT
FROM ttt

2 RomikChef:
К счастью разобрался САМ, бланго голова на плечах присутствует, но все-же потерял лишних 15 минут, которых просто нет. Просто я форумом пользуюсь ЛИШЬ в экстренных случаях, когда СРОЧНО требуется то, чего допустим я не знаю, а ты, если уж если не знал, то и УМНИЧАТЬ без повода не стоило!!!
Название: MySQL vs Строка Фиксированной длины
Отправлено: metton от 01 Декабря 2003, 01:34:24
2RomikChef && FANTAzeRus
Теперь вопрос. С какой версии MySQL это поддерживается?
Название: MySQL vs Строка Фиксированной длины
Отправлено: FANTAzeRus от 01 Декабря 2003, 02:08:04
У меня 4.0.14
Все работает!
Название: MySQL vs Строка Фиксированной длины
Отправлено: FreeSpace от 01 Декабря 2003, 03:12:47
ИМХО, это поддерживает даже ANSI SQL.
Название: MySQL vs Строка Фиксированной длины
Отправлено: metton от 01 Декабря 2003, 11:39:06
2FreeSpace
Так и не нашёл ничего про эти функции в книге "SQL. Полное руководство", описывающей в том числе стандарт.
И ещё: не всё что поддерживает стандарт, поддерживают реализации.
Название: MySQL vs Строка Фиксированной длины
Отправлено: ThE0ReTiC от 01 Декабря 2003, 12:15:07
metton
http://www.mysql.com/doc/en/Control_flow_functions.html
http://www.mysql.com/doc/en/String_functions.html
тут все написано
Название: MySQL vs Строка Фиксированной длины
Отправлено: Меняздесьдавнонет от 01 Декабря 2003, 12:17:03
metton все версии это поддерживают.
еще вопросы есть?
Название: MySQL vs Строка Фиксированной длины
Отправлено: metton от 01 Декабря 2003, 12:22:21
2RomikChef
Есть :)
Поддерживает ли это стандарт (так, для общего развития). Я ничего про эти функции не нашёл в описании стандарта..
Название: MySQL vs Строка Фиксированной длины
Отправлено: Меняздесьдавнонет от 01 Декабря 2003, 12:31:59
Про стандарт не знаю.
Я знаю только, что писать под абстрактный стандарт - дессмысленно и нереально
Название: MySQL vs Строка Фиксированной длины
Отправлено: ThE0ReTiC от 01 Декабря 2003, 12:36:26
http://www.mysql.com/doc/en/Extensions_to_ANSI.html
http://www.mysql.com/doc/en/Differences_from_ANSI.html
Название: MySQL vs Строка Фиксированной длины
Отправлено: metton от 01 Декабря 2003, 12:38:08
2RomikChef
Стандарт как раз-таки совсем не абстрактный, а вполне реальный :) Ну лан, это всё лирика. Никто же не говорит, что нужно писать под него. Это действительно бессмысленно, ведь это некприменимо на практике...
Название: MySQL vs Строка Фиксированной длины
Отправлено: ThE0ReTiC от 01 Декабря 2003, 12:43:46
metton
sql 92 - Page 22
Цитировать
X3H2-92-154/DBL CBR-002
         4.2 Character strings


         4.2.2  Operations involving character strings

         4.2.2.1  Operators that operate on character strings and return
                  character strings

          is an operator, |, that returns the char-
         acter string made by joining its character string operands in the
         order given.

          is a triadic function, SUBSTRING,
         that returns a string extracted from a given string according
         to a given numeric starting position and a given numeric length.
         Truncation occurs when the implied starting and ending positions
         are not both within the given string.

ORIGIN (http://www.sqlteam.com/redir.asp?ItemID=3051)
Название: MySQL vs Строка Фиксированной длины
Отправлено: metton от 01 Декабря 2003, 12:50:22
2ThE0ReTiC
Угу. Понял. Пасиб.