Биллинговая система Nodeny
29 Марта 2024, 14:04:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: ппк в mysql  (Прочитано 3581 раз)
vddav
Старожил
****

Карма: 3
Offline Offline

Сообщений: 251


Просмотр профиля Email
« : 02 Ноября 2019, 15:44:44 »

кто может досказать функцию или процедуру mysql для получения ппк в запросе?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4794



Просмотр профиля
« Ответ #1 : 02 Ноября 2019, 18:26:31 »

Код:
select CONCAT(id, SUBSTRING(SUBSTRING(id,1,1)+SUBSTRING(id,2,1)+SUBSTRING(id,3,1)+SUBSTRING(id,4,1)+SUBSTRING(id,5,1)+SUBSTRING(id,6,1),-1,1)) AS ppc from users where id=357;
Записан
vddav
Старожил
****

Карма: 3
Offline Offline

Сообщений: 251


Просмотр профиля Email
« Ответ #2 : 02 Ноября 2019, 21:39:38 »

Код:
select CONCAT(id, SUBSTRING(SUBSTRING(id,1,1)+SUBSTRING(id,2,1)+SUBSTRING(id,3,1)+SUBSTRING(id,4,1)+SUBSTRING(id,5,1)+SUBSTRING(id,6,1),-1,1)) AS ppc from users where id=357;
спасибо, то что надо!)
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1444



Просмотр профиля
« Ответ #3 : 03 Ноября 2019, 08:59:45 »

Да, годный запросик. Себе на заметку.
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #4 : 07 Января 2020, 11:17:13 »

Код:
DELIMITER $$
CREATE FUNCTION `calc_ppk`(ID INT) RETURNS int(11)
BEGIN
    DECLARE ppk INT UNSIGNED DEFAULT 0;
    DECLARE userID INT UNSIGNED DEFAULT ID;
    WHILE ID > 0
        DO
            SET ppk = ppk + (ID % 10);
            SET ID = FLOOR(ID / 10);
        END WHILE;
    RETURN CAST(CONCAT(userID, ppk % 10) AS UNSIGNED);
END$$
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4794



Просмотр профиля
« Ответ #5 : 07 Января 2020, 11:25:47 »

Этот запрос более правильный т.к. будет работать для больших id (когда абонентов больше миллиона)
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!