Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / sql order by random / 8 сообщений из 8, страница 1 из 1
13.02.2017, 07:52
    #39403191
Sabyrov.Talgat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql order by random
У Cache' SQL много функций отсутствует, в том числе и Rand(), Random(), newid() и тд.
Мне нужно отсортировать полученный запрос в случайном порядке.

Код: sql
1.
2.
select * from Persons
order by random()


Код: sql
1.
2.
select * from Persons
order by rand()


Код: sql
1.
2.
select * from Persons
order by newid()


Ни один из запросов не работает. Прошу помочь!!!
...
Рейтинг: 0 / 0
13.02.2017, 08:48
    #39403204
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql order by random
Sabyrov.TalgatМне нужно отсортировать полученный запрос в случайном порядке.
Не совсем понятна такая надобность...

Но, если запрос делается динамически - можно написать функцию, которая выдаст список свойств класса в произвольном порядке.
Эту последовательность можно вставить в формирование запроса...
...
Рейтинг: 0 / 0
13.02.2017, 10:00
    #39403232
imdb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql order by random
Sabyrov.TalgatУ Cache' SQL много функций отсутствует, в том числе и Rand(), Random(), newid() и тд.
Странно! Сама функция rand() есть, даже в относительно старых версиях, но при запуске дает ошибку, что ее нет.
Похоже, что в документацию записали, а реализовать забыли!
...
Рейтинг: 0 / 0
13.02.2017, 10:20
    #39403247
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql order by random
imdbSabyrov.TalgatУ Cache' SQL много функций отсутствует, в том числе и Rand(), Random(), newid() и тд.
Странно! Сама функция rand() есть, даже в относительно старых версиях, но при запуске дает ошибку, что ее нет.
Похоже, что в документацию записали, а реализовать забыли! RAND() реализован только в диалекте TSQL. если нужно использовать в Caché диалекте, то можно вызвать так $TSQL_RAND() , либо переключится на TSQL диалект
...
Рейтинг: 0 / 0
13.02.2017, 12:21
    #39403365
imdb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql order by random
DAiMorimdbпропущено...

Странно! Сама функция rand() есть, даже в относительно старых версиях, но при запуске дает ошибку, что ее нет.
Похоже, что в документацию записали, а реализовать забыли! RAND() реализован только в диалекте TSQL. если нужно использовать в Caché диалекте, то можно вызвать так $TSQL_RAND() , либо переключится на TSQL диалект
Соседняя RADIANS() спокойно отрабатывает в обычном sql-запросе, без всяких "переключений".
...
Рейтинг: 0 / 0
13.02.2017, 13:14
    #39403420
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql order by random
imdbDAiMorпропущено...
RAND() реализован только в диалекте TSQL. если нужно использовать в Caché диалекте, то можно вызвать так $TSQL_RAND() , либо переключится на TSQL диалект
Соседняя RADIANS() спокойно отрабатывает в обычном sql-запросе, без всяких "переключений".Да, потому что эта функция реализована в Caché диалекте
...
Рейтинг: 0 / 0
15.02.2017, 15:31
    #39405024
ну я
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql order by random
Sabyrov.Talgat,

А написание своей sqlproc в задаче допускается или надо использовать только штатные функции дефолтной инсталляции Cache?
...
Рейтинг: 0 / 0
16.02.2017, 22:31
    #39406192
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql order by random
Код: sql
1.
2.
3.
4.
5.
6.
7.
Class SQL.Util
{
ClassMethod Random(max As %Integer = 100, key As %String) As %Integer [ SqlProc ]
{
	return $random(max)
}
}


Код: sql
1.
select *,sql.util_random(100,id) from table


Второй параметр нужен для того, чтобы Каше не надумала оптимизировать вызовы (без него во всех строках будет одно и то же значение)
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / sql order by random / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]