Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сгенерировать сроку из случайных букв? / 9 сообщений из 9, страница 1 из 1
25.11.2015, 12:29:20
    #39113018
Xyrma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать сроку из случайных букв?
Нужно заполнить столбец Name случайными буквами?
Помогите,а то я такого нагородила...
CREATE DEFINER=`root`@`localhost` PROCEDURE `tins`(n int)
begin
declare t1, t2, t3 float;
declare b varchar(11);
declare i int default 0;
set t1=time_to_sec(now());
set b=("a","b","c","d","e","f",
"g","h","i","j","k","l",
'm','n','o','p','r','s',
't','u','v','x','y','z',
'A','B','C','D','E','F',
'G','H','I','J','K','L',
'M','N','O','P','R','S',
'T','U','V','X','Y','Z');
start transaction;
while i<n do
insert into proba (name, val1, val2) values (rand(b)*26, rand()*1000, rand()*1000);
set i=i+1;
end while;
commit;
set t2=time_to_sec(now());
set t3=t2-t1;
insert into vremia (kol, t_vv) values (n, t3/n);
end



Для чисел все работает,а вот с буквами-бядааа.
...
Рейтинг: 0 / 0
25.11.2015, 12:32:35
    #39113019
Xyrma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать сроку из случайных букв?
Еще есть вариант через case, но уж больно длинно перечислять все буквы...Или все же придется?
...
Рейтинг: 0 / 0
25.11.2015, 12:36:27
    #39113021
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать сроку из случайных букв?
...
Рейтинг: 0 / 0
25.11.2015, 12:49:51
    #39113036
Xyrma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать сроку из случайных букв?
miksoft,

char(rand()*100) выдает Blob
...
Рейтинг: 0 / 0
25.11.2015, 13:11:54
    #39113059
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать сроку из случайных букв?
Xyrmamiksoft,

char(rand()*100) выдает BlobНе Blob, а binary string.
http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_char By default, CHAR() returns a binary string. To produce a string in a given character set, use the optional USING clause:

У меня вот так нормально работает:
Код: sql
1.
select char(65+rand()*26,65+rand()*26,65+rand()*26,65+rand()*26,65+rand()*26,65+rand()*26,65+rand()*26,65+rand()*26,65+rand()*26,65+rand()*26 USING utf8)
...
Рейтинг: 0 / 0
25.11.2015, 13:51:54
    #39113107
Xyrma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать сроку из случайных букв?
miksoft,

спасибо большое. Работает!
.
.
.
while i<n do
select char(65+rand()*26,65+rand()*26,65+rand()*26,65+rand()*26 USING utf8)into b;
insert into proba (name, val1, val2) values (b, rand()*1000, rand()*1000);
set i=i+1;
end while;
.
.
.

Вот только не пойму почему 65+rand?
...
Рейтинг: 0 / 0
25.11.2015, 13:54:01
    #39113108
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать сроку из случайных букв?
XyrmaВот только не пойму почему 65+rand?Вы таблицу кодов никогда не видели?
https://ru.wikipedia.org/wiki/ASCII
...
Рейтинг: 0 / 0
25.11.2015, 13:55:58
    #39113112
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать сроку из случайных букв?
Xyrmaselect char(65+rand()*26,65+rand()*26,65+rand()*26,65+rand()*26 USING utf8)into b;
insert into proba (name, val1, val2) values (b, rand()*1000, rand()*1000);А промежуточный select тут зачем?
Код: sql
1.
insert into proba (name, val1, val2) select char(65+rand()*26,65+rand()*26,65+rand()*26,65+rand()*26 USING utf8), rand()*1000, rand()*1000;
...
Рейтинг: 0 / 0
25.11.2015, 14:03:51
    #39113124
Xyrma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать сроку из случайных букв?
miksoft,
это я так составила.можно и без него
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сгенерировать сроку из случайных букв? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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