-- 检查字符串是否为汉字 返回值:1-汉字 0-非汉字 DROP FUNCTION IF EXISTS hasChinese; DELIMITER $ CREATE FUNCTION hasChinese(p_str VARCHAR(1024)) RETURNS int BEGIN DECLARE reg VARCHAR(255); DECLARE ret int; SET reg = 'e[4-9][0-9a-f]{4}'; set ret = 0; IF hex(p_str) regexp reg THEN SET ret = 1; else set ret = 0; END IF; RETURN ret; END; $ DELIMITER ; DELIMITER $ CREATE FUNCTION `fc_is_hanzi`(p_str VARCHAR(1024)) RETURNS int(11) COMMENT '检查字符串是否为汉字' BEGIN /*检查字符串是否为汉字 返回值:1-汉字 0-非汉字*/ DECLARE _ret, i, other_cnt, l_acode INT DEFAULT 0; SET _ret = 0; SET i = 1; SET other_cnt = 0; SET l_acode = 0; WHILE i <= CHAR_LENGTH(p_str) DO SET l_acode = ASCII(SUBSTRING(p_str, i, 1)); IF l_acode<124 or l_acode>254 THEN SET other_cnt = other_cnt + 1; END IF; SET i = i + 1; END WHILE; IF other_cnt = 0 THEN SET _ret = 1; ELSE SET _ret = 0; END IF; RETURN _ret; END; $ DELIMITER ;
相关推荐
本文将详细介绍如何在 MySQL 中创建一个自定义函数 `sfn_GetSimilar_Rate` 来计算两个中文字符串的相似度,并基于此相似度进行排序。 #### 函数设计与实现 本节将详细介绍 `sfn_GetSimilar_Rate` 函数的设计与实现...
判断字符串编码是utf-8还是gb2312 一、 开发环境 1、环境搭建:Windows 7+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0。 2、文本编辑器:Sublime 3。 二、主要技术 本案例主要使用PHP通过对字符的ASCII码值进行判断,从而...
我们可以利用这个特性来判断字符串中是否存在特定字符或字符类别。 1. **判断字符串中是否包含字母**: 使用`PATINDEX('%[A-Za-z]%', 'your_string')`。这里的`'%[A-Za-z]%'`是一个模式,`%`表示任意数量的任意...
1. 判断字符串是否为汉字: 函数名为`fc_is_hanzi`,其目的是检查给定的字符串`p_str`是否全部由汉字组成。函数通过ASCII码来判断每个字符,如果ASCII值在124到254之间,则认为是汉字(这个范围包括了大部分简体和...
通过以上三个自定义函数的实现,我们可以有效地在 MySQL 中对字符串进行格式判断,包括但不限于判断字符串是否全为汉字、是否为有效的日期格式以及是否全为数字等。这些函数的应用场景非常广泛,在数据清洗、格式...
对同一字段分别使用length、char_length计算长度,并进行比较长度相同则字段中无汉字,不相同则肯定有汉字 代码如下:SELECT * FROM t_ad t WHERE t.`userid` = 974 AND LENGTH( REPLACE(REPLACE(t.`title`, ‘-...
这会导致无法准确判断字符串是否真正包含目标子字符串。 针对这个问题,文章中提出了一种通过自定义函数checkStr()来解决的方法。该函数使用了explode()函数,这是一个通过指定的分隔符来将字符串分割成数组的函数...
- `mysql_real_escape_string` 和 `mysql_escape_string`:这两个函数用于转义SQL字符串中的特殊字符。`mysql_real_escape_string`还会判断字符集,而`mysql_escape_string`不会。 - `base64_encode` 和 `base64_...
例如,可以使用`INSTR()`函数来判断一个字符串是否包含另一个字符串: ```sql SELECT * FROM table WHERE INSTR(biaoti, '关键词') > 0; ``` 这种方法虽然简单,但可能不如全文索引那样高效。 ### 四、性能优化...
2. **字符串函数**:例如`CONCAT()`用于连接两个或更多字符串,`SUBSTRING()`用于提取字符串的一部分,`REPLACE()`用于替换字符串中的特定部分,而`LOWER()`和`UPPER()`则用于转换大小写。 3. **日期和时间函数**:...
1. **数据类型**:MySQL支持多种数据类型,如整数(TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT)、浮点数(FLOAT, DOUBLE)、字符串(CHAR, VARCHAR, TEXT)、日期和时间(DATE, TIME, DATETIME, TIMESTAMP)以及二...
`fristPinyin`函数的主要作用是获取一个中文字符串的第一个汉字的拼音首字母。它首先通过`CONVERT`函数将中文字符转换为GBK编码格式,然后提取第一个字节的十六进制值。通过`INTERVAL`函数判断这个值在哪个汉字拼音...
通过上述的代码,我们可以清晰地看到,在进行数据库操作前使用iconv_strlen()进行字符串长度判断是有多么重要。在实际开发中,我们需要严格遵守这样的规则,确保数据库的操作安全和数据的完整。 在学习和使用这些...
MySQL内置函数是用于处理数据的基本工具,包括算术函数(如SUM、AVG)、字符串函数(如CONCAT、SUBSTRING)、日期和时间函数(如DATE_FORMAT、NOW)、逻辑函数(如IF、CASE)等。这些函数帮助用户在查询和处理数据时...
这个过程可能包括一系列的条件判断和字符串拼接操作,例如: ```sql DELIMITER // CREATE FUNCTION num_to_rmb(num DECIMAL(15,2)) RETURNS CHAR(20) DETERMINISTIC BEGIN DECLARE rmb_str CHAR(20); -- ...
-- 判断字符是否为汉字(GBK编码范围) IF @cc >= "8140" AND @cc BEGIN SELECT PY FROM cs_char2letter WHERE HZ >= @pc LIMIT 1 INTO @fpy; END; END IF; -- 返回提取的首字母 RETURN @fpy; END $$ ...
总结起来,这个`getPY`函数通过一系列字符串处理和字符编码转换,实现了在MySQL中获取汉字字段各汉字首字母的功能。这对于需要对汉字字段进行基于拼音的处理,如搜索、排序或建立索引,是非常有用的。
4. 长度计算:在进行字符串操作时,用`LENGTH()`函数计算字符串长度时,要注意它返回的是字符数而非字节数。如果需要知道字节数,可以使用`CHAR_LENGTH()`函数配合指定的字符集进行转换。 5. 输入验证:在用户输入...