function count(char *str) {
char *read = str;
char*write = str;
if (0 == *read)
return;
char last = *(read++);
int count = 1;
while (*read) {
if (last == *read) {
count++;
} else {
if (count > 1) {
write += sprintf(write, "%d", count);
}
*(write++) = last;
last = *read;
count = 1;
}
read++;
}
if (count > 1) {
write += sprintf(write, "%d", count);
}
*(write++) = last;
*write = 0;
}
DROP TRIGGER IF EXIST `caps_BUPD`;
DELIMITER $$
CREATE TRIGGER `caps_BUPD` BEFORE UPDATE ON `caps`
здесь тело триггера
$$
DELIMITER ;
FOR EACH ROW BEGIN
IF NEW.`rate` != OLD.`rate` THEN
SET NEW.`time_change` = NOW();
END IF;
END
dst = ((dst << 12) | dst) & 0xF000F;
dst = ((dst << 6) | dst) & 0x3030303;
dst = (dst << 3) | dst) & 0x11111111;