Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RFpro.ru: Базы данных MySQL


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 314
∙ повысить рейтинг »
solowey
Статус: 9-й класс
Рейтинг: 146
∙ повысить рейтинг »
Megaloman
Статус: Академик
Рейтинг: 107
∙ повысить рейтинг »

∙ Базы данных

Номер выпуска:527
Дата выхода:02.04.2018, 14:45
Администратор рассылки:Коцюрбенко Алексей aka Жерар (Мастер-Эксперт)
Подписчиков / экспертов:19 / 15
Вопросов / ответов:3 / 7

Консультация # 90673: Здраствуйте! помогите пожалуйста!!! Как из ФИО (Иванов Иван Иванович) запросом сформировать 2 столбца(фамилия и имя отчество), и эти два столбца разбить по буквам. То есть в итоге должно быть: 1 столбец: И В А Н О В 2 столбец: И В А Н И В А Н О В И Ч...
Консультация # 48620: Мне необходимо создать на сайте базу данных. Где можно прочитать или какую программу скачать для создания БД на сайте. В частности, мне необходимо скачать форум, под который и необходима база данных. Она может пригодится и для хранения новостей на сайте. Где можно прочитать про это как можно более понятно? Например мне надо будет хранить в базе дан...
Консультация # 34005: Доброе время суток, ув. эксперты! Вопрос по MySQL. Нужно создать тригер - запрет на удаление: .. FOREIGN KEY connection1 (section) references cat ON DELETE RESTRICT Запрос ошибку не вызывает, но правило не устанавливается, и, если сделать дамп таблицы вижу следующее: .. KEY (section) и все...

Консультация # 90673:

Здраствуйте! помогите пожалуйста!!! Как из ФИО (Иванов Иван Иванович) запросом сформировать 2 столбца(фамилия и имя отчество), и эти два столбца разбить по буквам. То есть в итоге должно быть:

1 столбец: И В А Н О В
2 столбец: И В А Н И В А Н О В И Ч

Дата отправки: 09.06.2007, 10:16
Вопрос задал: Кунафина Гульназ Ильдаровна
Всего ответов: 3
Страница онлайн-консультации »


Консультирует Виктор Пырлик:

Здравствуйте, Кунафина Гульназ Ильдаровна!
Возможно так:
select
substring(fio_pers,1,CHARINDEX(\' \',fio_pers,1))as FAM_PERS,
substring(fio_pers,CHARINDEX(\' \',fio_pers,1),len(fio_pers)) as NAME_PERS
from pers

где fio_pers - поле ФИО
pers - таблица персонала
FAM_PERS - результат фамилия
NAME_PERS - результат имя отчество

Консультировал: Виктор Пырлик
Дата отправки: 09.06.2007, 11:15
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Sergey T:

Здравствуйте, Кунафина Гульназ Ильдаровна!

Этот вариант более точен.
1. Не будет выводится фамилия в поле с именем и отчеством если есть только фамилия.
2. Ну и обрезаются лишние пробелы и вообще не выводится лишняя информация.
3. Не помню уже будет-ли работать такая конструкция в стандарте SQL-92, но на SQL Server 2000 работать будет.

SELECT
LTRIM(SUBSTRING(ФИО, 1, CASE ISNULL(CHARINDEX(\' \', LTRIM(ФИО)), 0)
WHEN 0 THEN LEN(ФИО)
ELSE CHARINDEX(\' \', LTRIM(ФИО))
END)) AS \'Фамилия\',
SUBSTRING(ФИО, ISNULL(CHARINDEX(\' \', LTRIM(ФИО)), 0)+1,
CASE ISNULL(CHARINDEX(\' \', LTRIM(ФИО)), 0)
WHEN 0 THEN 0
ELSE LEN(ФИО)-CHARINDEX(\' \', LTRIM(ФИО))
END) AS \'Имя Отчество\'
FROM Таблица

По второму вопросу можно использовать ту же функцию SUBSTRING, но в запросе это сделать невозможно - так как вы не будете знать сколько букв у вас в каждой фамилии. Это делается в циклах WHILE или с помощью курсора.
Удачи.

Консультировал: Sergey T
Дата отправки: 09.06.2007, 12:21
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Игорь Елизаров:

Здравствуйте, Кунафина Гульназ Ильдаровна!
не совсем понятна вторая часть вопроса...
зачем надо разбивать по буквам ?
наверное чтобы осуществлять поиск, но это можно сделать командой Like
например select * from table where fio like \'Ан%"
отбирает все фио, которые начинаются на Ан

Консультировал: Игорь Елизаров
Дата отправки: 09.06.2007, 22:03
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 48620:

Мне необходимо создать на сайте базу данных. Где можно прочитать или какую программу скачать для создания БД на сайте. В частности, мне необходимо скачать форум, под который и необходима база данных. Она может пригодится и для хранения новостей на сайте. Где можно прочитать про это как можно более понятно? Например мне надо будет хранить в базе данных фотографии, ссылки, описание товара(как это сделано на авто.ру) . Также я хотел бы узнать название программы(СУБД), которая могла бы управлять БД на моём домашнем компьютере и точную ссылку.
КПП. 2006г.

Дата отправки: 09.07.2006, 15:38
Вопрос задал: PetrKi.
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Марк Крейн:

Здравствуйте, PetrKi.!

Универсальной СУБД при программировании в Web является MySQL. Скачать её можно на http://www.mysql.com. Практически любой форум использует именно MySQL. Для управления базой данных Вам нужно скачать программу phpMyAdmin. Эта программа написана на PHP, в дистрибутиве идёт инструкция по установке её на сервер. phpmyAdmin вы можете скачать здесь: http://www.php-myadmin.ru/download/.
Создание базы данных, её редактирование, добавление/удаление/изменение таблиц - все эти и другие задачи Вы можете сделать через phpMyAdmin.
Удачи! Надеюсь что ответил на все Ваши вопросы.

Консультировал: Марк Крейн
Дата отправки: 09.07.2006, 16:21
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует SergeyMAC:

Здравствуйте, PetrKi.!
по всей видимости тебе подойдет mysql
http://www.mysql.ru/docs/
http://www.opennet.ru/links/sml/79.shtml

Консультировал: SergeyMAC
Дата отправки: 09.07.2006, 16:32
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 34005:

Доброе время суток, ув. эксперты!

Вопрос по MySQL. Нужно создать тригер - запрет на удаление:

..
FOREIGN KEY connection1 (section) references cat ON DELETE RESTRICT

Запрос ошибку не вызывает, но правило не устанавливается, и, если сделать дамп таблицы вижу следующее:

..
KEY (section)
и все...

В принципе написал проверку в самой проге - проверять нужно было только в одном месте - один лишний запрос к БД, 2 строчки кода, но интересно, неужели MySQL такое не умеет?..

Дата отправки: 24.01.2006, 20:21
Вопрос задал: Nexus
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Архангельский Андрей Германови:

Здравствуйте, Nexus!

Не знаю как в MySQL, но в Interbase это делается просто через исключение
См. в приложении

Приложение:

Консультировал: Архангельский Андрей Германови
Дата отправки: 24.01.2006, 21:26
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует nkravt:

Здравствуйте, Nexus!

Не известно какая у Вас версия MySQL, и какой тип таблиц используется, поэтому отвечу в общем.

Единственное, что MySQL в настоящее время не осуществляет (в типах таблиц, отличных от InnoDB), это проверку что ключи, которые вы используете, действительно существуют в таблицах на которые вы ссылаетесь, и не удаляет автоматически записи из таблиц с определением внешних ключей. Блок FOREIGN в таблицах других типов нужен только для совместимости.

Но в версии сервера MySQL 3.23.44 и выше таблицы InnoDB поддерживают проверку ограничений внешних ключей. Начиная с версии 3.23.50 с ограничением внешнего ключа можно также связывать выражения ON DELETE CASCADE или ON DELETE SET NULL.

Можно обойти проблему отсутствия реализации ON DELETE написанием собственного триггера в приложении, когда удаляются записи из таблицы, имеющей внешний ключ.

Подробную информацию о внешних ключах и таблицах типа InnoDB на русском языке можно найти по адресу: http://dev.mysql.com/doc/refman/4.0/ru/innodb.html

Консультировал: nkravt
Дата отправки: 25.01.2006, 02:43
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное