crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> SQLite, ка заставить СУБД сортировать по-русски?
Litkevich Yuriy
  опции профиля:
сообщение 9.4.2009, 18:17
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Т.е. чтобы сортировка была не тупая по порядку символов в строке:
"C1"
"C10"
"C11"
"C18"
"C2"
"C3"
А человеческая:
"C1"
"C2"
"C3"
"C10"
"C11"
"C18"

Может кто-нибудь уже прощупал это дело?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 9.4.2009, 18:34
Сообщение #2


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

Спасибо сказали: 32 раз(а)




Репутация:   3  


На сколько я знаю, постыми способами никак.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.4.2009, 20:09
Сообщение #3


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


В твоем случае при сортировке сравнивается по одному символу, а в твоем случае нужно переписать сортировку так, чтобы в случае цифр, сортировка шла не по одному символу, а по грумме символов пока есть цифры.

Можн в данной теме попробовать составить алгоритм сортировки. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 9.4.2009, 20:14
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


ViGOur, я в программе ничего не делаю. Максимум что можно: создать особым образом таблицу или что-то добавить в запрос. Т.е. это просто в файле SQL-скрипта.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.4.2009, 20:20
Сообщение #5


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Ааааа, тогда даже и не знаю!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 9.4.2009, 20:27
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я наёшл только два дополнительных варианта и оба не годятся.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 10.4.2009, 10:14
Сообщение #7


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


Наиболее просто - добавить дополнительное поле для цифр и заполнять его автоматом в триггере.
По нему и сортировать. :)
В нормальных базах для этого есть вычисляемые поля и процедуры. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.4.2009, 11:12
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


да какой-то кастрированный PSQL у SQLite'а.

Да и результат работы моей задумки меня уже начал растраивать, видимо прейдется писать более полноценную программу.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 13.4.2009, 8:10
Сообщение #9


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


Вроде бы в SQLite можно регистрировать свои функции и их использовать в SQL-ях.
Хотя для такой сортировки я бы просто сорт-прокси специализированный написал при прочих равных. :)

Сообщение отредактировал Tonal - 13.4.2009, 8:11
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 3:48