文字示例:
OUTIATIENT VISIT 4,Private,1,1,0,60,0,0
OUTIATIENT VISIT 4,Private,1,1,0,“1,260”,0,0
目前我只是将字符串分开:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `getRandomID`(`rangeStart` BIGINT UNSIGNED, `rangeEnd` BIGINT UNSIGNED) RETURNS bigint(20) unsigned
READS SQL DATA
BEGIN
DECLARE rnd BIGINT unsigned;
DECLARE i BIGINT unsigned;
IF rangeStart is null OR rangeStart < 1 THEN
SET rangeStart = 1000000;
END IF;
IF rangeEnd is null OR rangeEnd < 1 THEN
SET rangeEnd = 4294967295;
END IF;
SET i = 0;
r: REPEAT
SET rnd = FLOOR(rangeStart + RAND(RAND(FLOOR(1 + rand() * 1000000000))*10) * (rangeEnd - rangeStart));
SELECT COUNT(*) INTO i FROM `table` WHERE `id` = rnd;
UNTIL i = 0 END REPEAT r;
RETURN rnd;
END$$
DELIMITER ;
我这样做的方式适用于第一行文本,但是当涉及到第二行时,它就是废话。还有更多的线不仅仅是2
我需要将字符串的每个已解析部分存储到自己的字符串中。如何使用逗号作为分隔符并使用逗号作为千位分隔符处理数字?
答案 0 :(得分:2)
您可以使用序列", "
作为分隔符。通过在逗号后添加空格,您可以过滤掉数字的第二部分。
答案 1 :(得分:0)
您可以使用“,”作为分隔符并执行第二次传递,您将合并包含数字的字符串(每个示例使用std :: isdigit)。