| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Составление SQL-запросов > Первая буква |
| Автор: Vex 6.7.2010, 13:36 |
| Есть поле Name как с него вытянуть первую букву и вставить в другое поле? (желательно преобразовав в верхний регистр) например: Name Letter Alex A Stev S Max M Dan D |
| Автор: Zloxa 6.7.2010, 13:59 | ||
|
| Автор: Gluttton 6.7.2010, 13:59 |
| Vex, какая СУБД? Поля Name и Letter в одной таблице? На каком этапе как часто необходимо обновлять поле Letter (по запросу или же автоматически - тогда, если оба поля в одной таблице, возможно есть смысл сделать его расчитываемым)? Добавлено через 46 секунд Zloxa, кажеться кто то в отпуске |
| Автор: Vex 6.7.2010, 14:08 |
| Gluttton, MySql да в одной таблице Добавлено через 39 секунд Автоматически, а как сделать чтобы оно было расчитываемым? и как расчитать уже добавленные записи? |
| Автор: skyboy 6.7.2010, 14:31 |
| Автор: Gluttton 6.7.2010, 14:40 |
К моему большому удивлению в MySQL кажеться нет расчитываемых полей (calculated field). Вывод делаю по таким данным: http://phpclub.ru/mysql/doc/create-table.html http://forum.vingrad.ru/index.php?showtopic=298155&view=findpost&p=2139622 http://www.sql.ru/forum/actualthread.aspx?tid=213568 Поэтому создать расчитываемое поле не получится. Но в принципе в постах по третьей ссылке есть высказывание о том, что расчитываемое поле можно реализовать с помощью представления - возможно это решение окажеться удобным? |
| Автор: skyboy 6.7.2010, 15:14 |
зато есть триггеры. |
| Автор: Gluttton 6.7.2010, 15:27 | ||
skyboy, т.е. как то так:
? |
| Автор: skyboy 6.7.2010, 16:21 |
| да. но в данном случае лучше выяснить цель. а то потом окажется, что это для фильтрации списка по первой букве названия. |
| Автор: Zloxa 15.7.2010, 07:31 |
Увы, пришлось вернуться. Чем не подходит вьюха? Добавлено через 3 минуты и 33 секунды хм... это масин диалект или оракли? Шибко смахивает на ораклю. Если оркли, то так нельзя - случится мутация. Для оракли следует в триггере бефор инсерт фор ич роу, менять значение new.letter Добавлено через 5 минут и 39 секунд И еще нет кляузы where.. |