MYSQL Explode 字符串切割
在老外的站点上看到非常不错的 Explode 存储过程实现。为了能方便处理 SELECT 出来的结果集字段(select lib_Explode(‘,’,string) from xxx; ),我改了一个 FUNCTION ,基本上是一样的。但需要将里面建表的语句单独拿出来。
EXPLODE 方法:
DROP TABLE IF EXISTS lib_Explode;
CREATE TABLE lib_Explode(
`pos` int unsigned NOT NULL auto_increment,
`val` VARCHAR(255) NOT NULL,
PRIMARY KEY (`pos`)
) ENGINE=Memory COMMENT='Explode() results.';
CREATE FUNCTION lib_Explode( sSepar VARCHAR(255), saVal TEXT ) returns INTEGER
body:
BEGIN
IF sSepar IS NULL OR saVal IS NULL THEN LEAVE body; END IF;
SET @saTail = saVal;
SET @iSeparLen = LENGTH( sSepar );
SET @total = 0;
create_layers:
WHILE @saTail != '' DO
# Get the next value
SET @sHead = SUBSTRING_INDEX(@saTail, sSepar, 1);
SET @saTail = SUBSTRING( @saTail, LENGTH(@sHead) + 1 + @iSeparLen );
INSERT INTO lib_Explode SET val = @sHead;
END WHILE;
SELECT count(*) INTO @total from lib_Explode;
return @total;
END; //
EXPLODE 存储过程:
CREATE PROCEDURE lib_Explode( sSepar VARCHAR(255), saVal TEXT )
body:
BEGIN
DROP TEMPORARY TABLE IF EXISTS lib_Explode;
CREATE TEMPORARY TABLE lib_Explode(
`pos` int unsigned NOT NULL auto_increment,
`val` VARCHAR(255) NOT NULL,
PRIMARY KEY (`pos`)
) ENGINE=Memory COMMENT='Explode() results.';
IF sSepar IS NULL OR saVal IS NULL THEN LEAVE body; END IF;
SET @saTail = saVal;
SET @iSeparLen = LENGTH( sSepar );
create_layers:
WHILE @saTail != '' DO
# Get the next value
SET @sHead = SUBSTRING_INDEX(@saTail, sSepar, 1);
SET @saTail = SUBSTRING( @saTail, LENGTH(@sHead) + 1 + @iSeparLen );
INSERT INTO lib_Explode SET val = @sHead;
END WHILE;
END; //
相关文章:
分享到:
相关推荐
`explode()`函数是一个非常实用的内置函数,它能够根据指定的分隔符将一个字符串分割成多个子字符串,从而形成一个数组。下面我们将详细讨论`explode()`函数的用法、参数以及实例。 ### `explode()`函数详解 `...
如果explode()函数分割后得到的数组长度大于1,意味着主字符串中确实包含了目标字符串;如果数组长度等于1,说明目标字符串并不在主字符串中,因为整个目标字符串被当作一个整体来分割,没有产生额外的数组元素。 ...
此外,还可以使用 `explode()` 分割字符串,`preg_match()` 使用正则表达式匹配,以及简单的逻辑判断等方法来实现相同功能。 在实际编程中,根据具体情况选择合适的函数是非常重要的,例如,如果字符串包含特殊字符...
`implode`用于将数组元素组合为一个字符串,`explode`是用指定字符分割字符串成数组,`join`与`implode`功能相同。 2. `strrev`函数用于实现字符串的翻转,将字符串的字符顺序反转。 3. PHP的模板框架中,`Smarty`,...
explode()函数接受两个参数:第一个参数是分隔符,第二个参数是要分割的字符串。它会返回一个数组,数组的每个元素是原字符串按分隔符拆分后的结果。例如,"Hello world"使用空格作为分隔符拆分后,可以得到数组[...
4.3 用字符串函数连接和分割字符串 4.3.1 使用函数explode()、implode()和join() 4.3.2 使用strtok()函数 4.3.3 使用substr()函数 4.4 字符串的比较 4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() ...
2. 提取子字符串:可能涉及到使用`explode()`函数根据某个分隔符分割字符串,或者使用`preg_split()`函数根据正则表达式来提取。 3. 替换子字符串:这部分讨论如何使用`str_replace()`、`preg_replace()`等函数来...
4.3 用字符串函数连接和分割字符串 4.3.1 使用函数explode()、implode()和join() 4.3.2 使用strtok()函数 4.3.3 使用substr()函数 4.4 字符串的比较 4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() 4.4.2...
PHP提供了丰富的字符串处理函数,如str_replace替换子串,strpos查找子串位置,trim去除字符串边缘空格,explode分割字符串等。 5. **数组操作** PHP中的数组可以是索引数组或关联数组。常用的数组函数有array_...
- **字符串与数组处理**:PHP提供了丰富的字符串和数组操作函数,如 `strlen()` 计算字符串长度,`explode()` 分割字符串,`array_push()` 向数组添加元素。 2. **MySQL基础** - **数据库管理**:通过 `mysqli` ...
4.3 用字符串函数连接和分割字符串 4.3.1 使用函数explode()、implode()和join() 4.3.2 使用strtok()函数 4.3.3 使用substr()函数 4.4 字符串的比较 4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() ...
- **`explode`**:使用分隔符将字符串分割成数组。 - **`htmlspecialchars`**:将预定义的字符转换为HTML实体。 - **`implode`**:使用粘合字符串将数组元素组合成一个字符串。 - **`join`**:使用粘合字符串将数组...
4. 函数:PHP内置大量内置函数,例如`strlen()`计算字符串长度,`explode()`分割字符串,`date()`处理日期时间等。 二、MySQL基础 1. 数据库管理:使用SQL(Structured Query Language)操作数据库,包括创建、修改...
《第7讲字符串处理.ppt》会讲解PHP处理字符串的各种函数,如strlen()用于获取字符串长度,strpos()用于查找子字符串位置,str_replace()用于替换字符串,以及explode()和implode()等用于字符串分割和合并的函数。...
10. **`explode()`**:将字符串分割成数组,基于分隔符进行切割。 11. **`implode()`**:将数组元素组合成字符串,基于粘合符进行连接。 12. **`sprintf`**:类似于`printf`,但结果存储在变量中,不直接输出。 ...
可以使用`file_get_contents`函数将整个文件读入一个字符串: ```php $sql_file = 'path_to_your.sql'; // SQL文件路径 $sql_data = file_get_contents($sql_file); ``` 然后,我们需要将SQL语句分割成多个部分,...
该代码使用 explode() 函数将字符串分割成数组,然后使用 implode() 函数将数组连接成字符串。 _PHP 会话机制_ 6. session 和 cookie 的区别说法错误的是?答案:C、在使用 cookie 前要使用 cookie_start() 函数...
PHP提供了丰富的字符串操作函数,如`strlen()`计算长度,`strpos()`查找子串位置,`str_replace()`替换子串,`explode()`分割字符串等,这些函数极大地增强了处理字符串的能力。 9. **数组操作** PHP的数组功能...
开发者可能利用PHP的字符串处理函数,如`strpos`、`substr`、`explode`等,来分析和处理SQL语句。同时,PHP的正则表达式功能也可能被用到,以便更精确地匹配和分割SQL中的不同元素。 使用这样的工具时,用户通常只...