MYSQL字符串函数详解和实战(字符串函数大全,内含示例)

news2024/12/24 8:07:11

MySQL提供了许多字符串函数,用于处理和操作字符串数据。以下是一些常用的MYSQL字符串函数。

建议收藏以备后续用到查阅参考

目录

一、CONCAT 拼接字符串

二、CONCAT_WS 拼接字符串

三、SUBSTR 取子字符串

四、SUBSTRING 取子字符串

五、SUBSTRING_INDEX 取子字符串

六、REPLACE 替换子字符串

七、UPPER 字母转大写

八、LENGTH 取以字节为单位的长度

九、TRIM 删除字符串头部和尾部空格

十、RTRIM 删除尾部空格

十一、LTRIM 删除前导空格

十二、REVERSE 反转后字符串

十三、ASCII 转为ASCII 值

十四、BIN 转为二进制

十五、BIT_LENGTH 取位为单位的长度

十六、CHAR 转为字符

十七、CHAR_LENGTH 转为字符后的长度

十八、CHARACTER_LENGTH 转为字符后的长度

十九、ELT 指定参数返回

二十、EXPORT_SET 指定分隔符拼接字符串

二十一、FIELD 取值在列表中的索引

二十二、FIND_IN_SET 分隔串中找字符串

二十三、FORMAT 数字格式化为字符串

二十四、FROM_BASE64 解码BASE64编码的字符串

二十五、HEX 取参数的十六进制值的字符串表示

二十六、INSERT 字符串中插入一个新的字符串

二十七、INSTR 查找子串在目标串出现的第一个位置

二十八、LCASE 转为小写

二十九、LOWER 转为小写

三十、LEFT 取左子串字符串

三十一、RIGHT 取右子串字符串

三十二、LOCATE 查找第一个子串的位置

三十三、LPAD 左侧填充指定的字符串使其达到指定的长度

三十四、RPAD 右侧填充指定的字符串使其达到指定的长度

三十五、MAKE_SET 按参数1的二进制位反转返回对应位置参数以逗号分隔集合

三十六、MID 取指定位置指定长度的子字符串

三十七、OCT 数字转八进制

三十八、OCTET_LENGTH 取以字节为单位的长度

三十九、ORD 取第一个字符的ASCII码

四十、POSITION 查找子串在目标串出现的第一个位置

四十一、QUOTE 用单引号包围字符串

四十二、REPEAT 字符串重复指定的次数

四十三、SOUNDEX 取发音的 soundex 字符串

四十四、SPACE 取指定数量空格字符串

四十五、STRCMP 比较两个字符串

四十六、TO_BASE64 以base-64编码字符串

四十七、UCASE 字符串转为大写

四十八、UNHEX 十六进制数值的字符串转换为字节


一、CONCAT 拼接字符串

MySQL CONCAT() 函数用来按顺序拼接指定的 2 个或多个字符串,并返回拼接后的字符串。如果您需要使用分隔符连接多个字符串,请使用 CONCAT_WS() 函数。如果拼接的参数中一个为 NULL, 则返回 NULL

语法:

CONCAT(string1, string2, ..., stringN)

参数说明:

  • string1, string2, ..., stringN 必需的,至少应指定一个字符串;拼接中若有一个为 NULL, 则返回 NULL

返回值:

  • 返回拼接后的字符串。
  • 只有一个参数,返回参数本身。
  • 若有一个参数为NULL,返回NULL。
  • 无参数时报错:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONCAT'

示例:

SELECT CONCAT('Hello', 'World'); // HelloWorld
SELECT CONCAT('Hello', NULL);    // NULl

二、CONCAT_WS 拼接字符串

MySQL CONCAT_WS() 函数用来通过指定的分隔符按顺序拼接指定的 2 个或多个字符串,并返回拼接后的字符串。

忽略String1,String2... 中的NULL值。

语法:

CONCAT_WS(separator, string1, string2, ..., stringN)

参数说明:

  • separator:分隔符,必须的。您可以使用单个字符,也可以使用字符串。

  • string1, string2, ..., stringN:必需的,至少应指定一个字符串;如果拼接的参数为 NULL, 则会被忽略;当不指定字符串时,MySQL 将会报错: ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONCAT_WS'

返回值:

  • 分隔符连接后的多个字符串。
  • 返回 NULL情况:separator 为 NULL。

示例:

SELECT 
    CONCAT_WS('-', 'Hello', 'World'),       // Hello-World
    CONCAT_WS('-', 'Hello', NULL, 'World'), // Hello-World
    SELECT CONCAT_WS('-', 'Hello');         // Hello

三、SUBSTR 取子字符串

MYSQL SUBSTR()函数是 SUBSTRING() 函数的别名。

四、SUBSTRING 取子字符串

MySQL SUBSTRING() 函数从一个字符串中返回一个从指定位置开始的指定长度的子字符串。 SUBSTR() 等同于 SUBSTRING() 函数。

语法:

有4种形式:
SUBSTRING(str, pos)
SUBSTRING(str FROM pos)
SUBSTRING(str, pos, len)
SUBSTRING(str FROM pos FOR len)

参数说明:

  • str:必需的,从中提取子字符串的原字符串。
  • pos:必需的,开始提取的位置。它可以是正数或者负数。如果是正数,则从字符串的开头为起始位置确定开始提取的位置提取子字符串。如果是负数,则从字符串的结尾为起始位置确定开始提取的位置提取子字符串。
  • len:可选的。子字符串的长度(字符数)。如果不指定,则提取到原字符串的结尾。

返回值:

  • 当 pos 为 0 或者超过原字符串的长度时, 返回空串 ''
  • 当 pos 为负数时,从字符串尾部向前计数。
  • 当 pos + len 超过原字符串的长度时,从pos位置提取到原字符串的结尾。
  • 当参数为 NULL 时, 返回 NULL

示例:

SELECT
    SUBSTRING('Hello', 1, 2),	       // He 
    SUBSTRING('Hello', 1),	           // Hello 
    SUBSTRING('Hello', -2, 2),         // lo 
    SUBSTRING('Hello' FROM 2 FOR 2)    // el 

五、SUBSTRING_INDEX 取子字符串

MySQL SUBSTRING_INDEX() 函数返回一个字符串中指定分隔符出现在指定次数之前的子字符串。

语法:

SUBSTRING_INDEX(str, delim, count)

参数说明:

  • str:必需的。原字符串。

  • delim:必需的。在原字符串中搜索的分隔符。

  • count:必需的。分隔符出现的次数。如果 count 为负数,则从字符串尾部向前开始计数分隔符,返回分隔符之后的子字符串。

返回值:

  • 从左往右数:count为正数,返回一个字符串中指定分隔符出现在指定次数之前的子字符串。
  • 从右往左数:count为负数,返回一个字符串中指定分隔符出现在指定次数之前的子字符串。
  • 返回空情况:count为0。
  • 返回 NULL情况:任意一个参数为 NULL。

示例:

SELECT
    SUBSTRING_INDEX('www.baidu.com', '.', 2), // www.baidu
    SUBSTRING_INDEX('www.baidu.com', '.', -2), // baidu.com
    SUBSTRING_INDEX('www.baidu.com', '.', 0) // 

六、REPLACE 替换子字符串

MySQL REPLACE() 函数将字符串中出现的所有子字符串替换为新的子字符串。 REPLACE() 函数是基于字符的替换,并且替换字符串时是区分大小写的。

语法:

REPLACE(str, from_str, to_str)

参数说明:

  • str:必需的,原字符串。
  • from_str:必需的,被替换的子字符串。
  • to_str:必需的,用来替换的新子字符串。

返回值:

  • 返回 str 中的所有 from_str 被 to_str 替换后的字符串。
  • 当任意一个参数为 NULL 时, REPLACE() 函数将返回 NULL

示例:

SELECT
    REPLACE('Hello World', 'World', 'Alice'), // Hello Alice
    REPLACE('Hello World', 'l', 'L'),		  // HeLLo WorLd
    REPLACE('hello World', 'h', 'HH')		  // HHello World

七、UPPER 字母转大写

MySQL UPPER() 函数将指定字符串转为大写并返回。 UCASE() 函数是 UPPER() 函数的别名。

如果想将字符串转换为小写,请使用 LCASE() 或者 LOWER() 函数。

语法:

UPPER(str)

参数说明:

  • str:必需的。 被处理的字符串。

返回值:

  • 定字符串的大写形式。
  • 当参数 str 为 NULL 时, UPPER() 函数将返回 NULL

示例:

SELECT UPPER(name)
FROM film
LIMIT 3;

+-------+
|FILM0  |
+-------+
|FILM1  |
+-------+
|FILM2  |
+-------+

八、LENGTH 取以字节为单位的长度

MySQL LENGTH() 函数返回指定字符串的以字节为单位的长度。如果想返回字符的数量,请使用 CHAR_LENGTH() 函数或者 CHARACTER_LENGTH() 函数。

LENGTH() 函数与 OCTET_LENGTH() 函数相同。

语法:

LENGTH(string)

参数说明:

  • string:必需的。需要计算长度的字符串。参数可以是其他的类型,比如数字或者日期等,LENGTH() 函数会首先将其转为字符串再计算长度。

返回值:

  • 返回指定字符串的以字节为单位的长度,即字节的数量。
  • 当参数为 NULL 时, 返回 NULL

示例:

SELECT
    LENGTH('Hello'),     // 5
    LENGTH(''),          // 0
    LENGTH(20),          // 2
    LENGTH(-20),         // 3
    LENGTH(+20),         // 2
    LENGTH(NOW()),       // 19
    LENGTH(CURDATE()),   // 10
    LENGTH('你好'),       // 6
    LENGTH(NULL)         // NULL

九、TRIM 删除字符串头部和尾部空格

MySQL TRIM() 函数从指定字符串的开头和结尾删除由指定字符组成的最长字符串。如果只想删除字符串的前导空格,请使用 LTRIM() 函数;如果只想删除字符串的尾随空格,请使用 RTRIM() 函数。

语法:

TRIM(str)
TRIM(remove_str FROM str)
TRIM({BOTH | LEADING | TRAILING} remove_str FROM str)

参数说明:

  • str:必需的。需要处理的字符串。
  • remove_str:可选的。需要删除的前缀和后缀字符串。如果不指定这个 remove_str,则默认值为空格。
  • BOTH:代表同时删除前导和尾随的字符。
  • LEADING:代表只删除前导字符。
  • TRAILING:代表只删除尾随的字符。
  • 如果不指定 {BOTH | LEADING | TRAILING},则默认值为 BOTH

返回值:

  • 从指定字符串的开头、结尾或者两端删除由指定字符组成的最长字符串。
  • 当参数为 NULL 时, TRIM() 函数将返回 NULL

示例:

SELECT
    TRIM('   Hello   '),                     // Hello
    TRIM(BOTH FROM '   Hello   '),           // Hello
    TRIM(LEADING FROM '   Hello   '),        // Hello   尾部还有空格
    TRIM(TRAILING FROM '   Hello   '),       //   Hello头部还有空格
    TRIM('_' FROM '___Hello___'),	         // Hello
    TRIM(BOTH '_' FROM '___Hello___'),       // Hello
    TRIM(LEADING '_' FROM '___Hello___'),    // Hello___
    TRIM(TRAILING '_' FROM '___Hello___'),   // ___Hello
    TRIM('_#' FROM '_#_#_Hello_#_#'),        // _Hello
    TRIM(BOTH '_#' FROM '_#_#_Hello_#_#'),   // _Hello
    TRIM(LEADING '_#' FROM '_#_#_Hello_#_#'),// _Hello_#_#
    TRIM(TRAILING '_#' FROM '_#_#_Hello_#_#')// _#_#_Hello

十、RTRIM 删除尾部空格

MySQL RTRIM() 函数删除指定字符串的尾部空格,并返回没有尾部空格的字符串。如果删除字符串的尾随空格,请使用 RTRIM() 函数;如果想同时删除字符串的前导和尾随空格,请使用 TRIM() 函数。

语法:

RTRIM(str)

参数说明:

  • str:必需的。需要删除尾部空格的字符串。

返回值:

  • 删除了尾部空格的字符串。
  • 返回 NULL情况:参数为 NULL 。

示例:

SELECT
    RTRIM('   Hello '), //    Hello已删除尾部空格
    RTRIM(NULL);        // NULL

十一、LTRIM 删除前导空格

MySQL LTRIM() 函数删除指定字符串的前导空格,并返回没有前导空格的字符串。如果删除字符串的尾随空格,请使用 RTRIM() 函数;如果想同时删除字符串的前导和尾随空格,请使用 TRIM() 函数。

语法:

LTRIM(str)

参数说明:

  • str:必需的。需要删除前导空格的字符串。

返回值:

  • 删除了前导空格的字符串。
  • 返回NULL情况:参数为 NULL。

示例:

SELECT
    LTRIM('   Hello '),    // Hello 尾部空格未删除
    LTRIM(NULL)            // NULL

十二、REVERSE 反转后字符串

MySQL REVERSE() 函数返回反转后的字符串。 REVERSE() 函数基于字符操作而不是基于字节。

语法:

REVERSE(str)

参数说明:

  • str:必需的。需要反转的字符串。

返回值:

  • 返回反转后的字符串。
  • 当参数为 NULL 时, REVERSE() 函数将返回 NULL

示例:

SELECT
    REVERSE('ABC'),    // CBA
    REVERSE('abc'),    // cba
    REVERSE('123'),    // 231
    REVERSE(NULL)      // NULL

十三、ASCII 转为ASCII 值

MySQL ASCII() 函数将指定的字符转为对应的 ASCII 值。ASCII() 只返回由指定的字符串的第一个字符的 ASCII 值。

语法:

ASCII(character)

参数说明:

  • character:必需的。 要返回 ASCII 值的字符。 如果多余一个字符,它将只返回第一个字符的 ASCII 值。

返回值:

  • 给定的字符串的第一个字符的 ASCII 值。
  • 返回 NULL情况:character 为 NULL

示例:

SELECT ASCII('A');    // 65

十四、BIN 转为二进制

MySQL BIN() 函数返回给定数字的二进制值的字符串表示。

语法:

BIN(number)

参数说明:

  • number:必需的。需要以二进制表示的数字。

返回值:

  • 表示给定数字的二进制值。
  • 返回 NULL情况:number 为 NULL。

示例:

SELECT
    BIN(2),        // 10
    BIN(3.6),      // 11
    BIN('3A'),     // 11
    BIN(NULL)      // NULL

十五、BIT_LENGTH 取位为单位的长度

MySQL BIT_LENGTH() 函数以位为单位返回给定字符串的长度。

如果想以字节为单位返回字符串的长度,请使用 LENGTH() 函数。

如果想返回字符串中的字符数量,请使用 CHAR_LENGTH() 或者 CHARACTER_LENGTH() 函数。

语法:

BIT_LENGTH(string)

参数说明:

  • string:必需的。 需要计算位长度的字符串。

返回值:

  • 给定字符串的位长度。
  • 返回 NULL情况:string 为 NULL。
  • 若参数不为字符串,会尝试转为字符串

示例:

SELECT
    BIT_LENGTH('a'),        // 8
    BIT_LENGTH('string'),   // 48
    BIT_LENGTH(1),          // 8
    BIT_LENGTH(01),         // 8
    BIT_LENGTH('01'),       // 16
    BIT_LENGTH('你好'),      // 48
    BIT_LENGTH(NULL)        // NULL

十六、CHAR 转为字符

MySQL CHAR() 函数将每个参数对应的整数转为对应的字符,并将这些字符组成一个字符串返回。

忽略值为NULL的参数。

语法:

CHAR(num1, [num2, ...])

参数说明:

  • num1, [num2, ...]:必需的。一些整数,或者能转为整数的值。

返回值:

  • 一个字符串,其中的字符由每个整数参数对应的字符组成。
  • 参数NULL直接被忽略,只有一个参数且为NULL时返回空。

示例:

SELECT
    CHAR(65, 66, 67),            // ABC
    CHAR(65, '66', '67'),        // ABC
    CHAR(65.4, '66.5', '67.6'),  // ABC
    CHAR(65, 66, NULL, 67),      // ABC
    CHAR(NULL)                   // 

十七、CHAR_LENGTH 转为字符后的长度

在 MySQL 中, CHAR_LENGTH() 返回给定字符串的长度。 CHAR_LENGTH() 返回的是字符串中字符的数量,与字符编码无关。此函数是 CHARACTER_LENGTH() 函数的别名。

语法:

CHARACTER_LENGTH(string)

参数说明:

  • string:必需的。 需要计算长度的字符串。

返回值:

  • 给定字符串的长度(字符的个数)。
  • 返回 NULL情况:string 为 NULL

示例:

SELECT CHAR_LENGTH('cxian');    // 5

十八、CHARACTER_LENGTH 转为字符后的长度

在 MySQL 中, CHARACTER_LENGTH() 返回给定字符串的长度。 CHARACTER_LENGTH() 返回的是字符串中字符的数量,与字符编码无关。此函数是 CHAR_LENGTH() 函数的别名。

用法同CHAR_LENGTH(number)函数。

十九、ELT 指定参数返回

MySQL ELT() 函数从第二个参数开始查找由第一个参数指定位置的参数并作为字符串返回。

语法:

ELT(pos, str1, str2, ...)

参数说明:

  • pos:必需的。一个用于指定位置的数字。

  • str1, str2, ...:必需的。字符串参数列表。

返回值:

  • 由 pos 指定位置的参数。
  • pos大于0:返回第pos+1的参数。
  • 返回 NULL情况:pos 小于 1 或者超过参数的数量。

示例:

SELECT
    ELT(1, 'Aa', 'Bb', 'Cc'),    // Aa
    ELT(3, 'Aa', 'Bb', 'Cc'),    // Cc
    ELT(-1, 'Aa', 'Bb', 'Cc'),   // NULL
    ELT(0, 'Aa', 'Bb', 'Cc'),    // NULL
    ELT(4, 'Aa', 'Bb', 'Cc')     // NULL

二十、EXPORT_SET 指定分隔符拼接字符串

语法:

EXPORT_SET(bits, on, off, separator, length)

参数说明:

  • bits:必需的。一个数字。将 bits 转为二进制并反转后的各个位的值决定 on 还是 off 出现在该位置。

  • on:必需的。当位值为 1 时使用的字符串。

  • off:必需的。当位值为 0 时使用的字符串。

  • separator:可选的。分隔符或者分隔字符串,默认值为 ,

  • length:可选的。集合的元素的个数,默认值为 64

返回值:

  • 根据 bits 对应的二进制并反转后的值挑选对应的字符串,并返回一个逗号分隔的字符串集合。

示例:

SELECT
    EXPORT_SET(5, 'Aa', 'Bb', '#', 4),    // Aa#Bb#Aa#Bb
        // bits = 5, 5 的二进制位 101, 总长度为 4,左边补 0 变为 0101。然后反转变为 1010。
        // 按 1010 中的每位的值使用 on 或者 off:
            // 第一位为 1,则使用 Aa。
            // 第二位为 0,则使用 Bb。
            // 第三位为 1,则使用 Aa。
            // 第四位为 0,则使用 Bb。
        // 最后将所有的字符串使用分隔符 # 组合起来,即:Aa#Bb#Aa#Bb。
    EXPORT_SET(5, 'Y', 'N', ',', 4),      // Y,N,Y,N
    EXPORT_SET(5, '1', '0', ',', 10),     // 1,0,1,0,0,0,0,0,0,0
    EXPORT_SET(0, 'Y', 'N', ',', 4)       // N,N,N,N

二十一、FIELD 取值在列表中的索引

MySQL FIELD() 函数返回一个指定的值在给定的列表中的索引。

语法:

FIELD(value, v1, v2, ..., vN)

参数说明:

  • value:必须的。要在列表中查找的值。
  • v1, v2, ..., vN:必须的。被搜索的列表中的各个元素。

返回值:

  • 指定的值对应的位置索引(索引从1开始)。
  • 返回0情况:
    • 找不到指定的值。
    • 查找的值为 NULL。

示例:

SELECT 
    FIELD('A', 'A', 'B', 'C'),    // 1
    FIELD('1', 'A', 'B', 'C'),    // 0
    FIELD(NULL, NULL, 'B', 'C')  // 0

二十二、FIND_IN_SET 分隔串中找字符串

MySQL FIND_IN_SET() 函数返回字符串在一个逗号分隔的字符串列表中的索引。 FIND_IN_SET() 函数与 FIELD() 函数类似,不同的是 FIELD() 中的列表是由多个参数组成的,并且参数的类型也不一定是字符串。

语法:

FIND_IN_SET(string, string_list)

参数说明:

  • string:必须的。这是要搜索的字符串。

  • string_list:必须的。这是一个使用逗号分隔的字符串列表。

返回值:

  • 找到则返回对应的位置索引。
  • 返回 0情况:
    • 找不到。
    • 找到空串。
  • 返回 NULL情况:
    • ​​​​​​​任何一个参数为NULL。

示例:

SELECT 
  FIND_IN_SET('A', 'A,B,C'),    // 1
  FIND_IN_SET('1', 'A,B,C'),    // 0
  FIND_IN_SET(NULL, 'A,B,C'),   // NULL
  FIND_IN_SET('D', NULL)        // NULL

二十三、FORMAT 数字格式化为字符串

MySQL FORMAT() 函数将数字四舍五入到指定的小数位数,并按照  #,###,###.##之类的格式进行格式化,然后将结果作为字符串返回。

语法:

FORMAT(number, decimal_places)

参数说明:​​​​​​​

  • number:必需的。 需要格式化的数字。
  • decimal_places:必需的。 要保留的小数位数。

返回值:

  • ​​​​​​​指定小数位数的类似于 #,###,###.## 格式的字符串。有一定规则:
    • 若以数字开头,则将开头的数字部分转为数字。
    • 若不能转为数字,则按照 0 处理。
  • 返回 NULL情况:number为null。
  • 无小数点情况:decimal_places为0。

示例:

SELECT
    FORMAT(111111, 2),    // 111,111.00
    FORMAT(111111.111, 2),// 111,111.11
    FORMAT(111111.111, 0),// 111,111
    FORMAT('111111', 2),  // 111,111.00
    FORMAT('11111A', 2),  // 11,111.00
    FORMAT('A11111', 2),  // 0.00
    FORMAT(NULL, 2)       // NULL

二十四、FROM_BASE64 解码BASE64编码的字符串

MySQL FROM_BASE64() 函数解码 base-64 编码的数据并将结果作为二进制字符串返回。

FROM_BASE64() 函数可以解码 TO_BASE64() 函数的结果。

不同于现有的 base-64 方案, MySQL TO_BASE64() 和 FROM_BASE64() 函数有些特殊的规则:

  • 字母值 62 的编码是 '+'.
  • 字母值 63 的编码是 '/'.
  • 编码输出由 4 个可打印字符组成。输入数据的每 3 个字节使用 4 个字符进行编码。如果最后一组长度不够 4,则用 '=' 字符填充。
  • 在编码输出的每 76 个字符之后添加一个换行符,以将长输出分成多行。
  • 解码识别并忽略换行符、回车符、制表符和空格。

语法:

FROM_BASE64(str)

参数说明:

  • str:必需的。 用于 base-64 解码的字符串。

返回值:

  • 将 base-64 编码的数据解码结果作为二进制字符串返回。
  • 返回 NULL情况:str 为 NULL。
  • 由于 FROM_BASE64() 函数返回的是二进制字符串,因此在 mysql 客户端显示的结果可能是十六进制内容。请在登陆时使用 --binary-as-hex=false 以禁用将二进制内容显示为十六进制。

示例一登陆时不使用--binary-as-hex

示例二登陆时使用--binary-as-hex=false

注:使用Navicat Premium连接数据库显示效果如示例二。

二十五、HEX 取参数的十六进制值的字符串表示

MySQL HEX() 函数返回给定数字或字符串的十六进制值的字符串表示。

语法:

HEX(number)
HEX(string)

​​​​​​​参数说明:

  • number/string:必需的。需要以十六进制表示的数字或字符串。

返回值:

  • ​​​​​​​参数的十六进制值。
  • 返回 NULL情况:number/string 为 NULL。

示例:

SELECT
    HEX(255),    // FF
    HEX('b'),    // 62
    HEX('abc'),  // 616263
    HEX(NULL)    // NULL

二十六、INSERT 字符串中插入一个新的字符串

MySQL INSERT() 函数在一个字符串中插入一个新的字符串,该新的字符串会替换源字符串中指定位置开始的指定长度的子字符串。

语法:

INSERT(str, pos, len, newstr)

参数说明:

  • str:必需的。 需要处理的字符串。
  • pos:必需的。 开始插入新字符串 newstr 的位置。pos 的值从 1 开始。
  • len:必需的。 要被替换的字符的数量。
  • newstr:必需的。 要插入的新字符串。

返回值:

  • ​​​​​​​被处理后的原字符串 str,其中 str 中从 pos 开始长度为 len 的子字符串被 newstr 替换掉。
  • 不替换情况:
    • len为0。
    • pos不在字符串长度范围内。
  • 若len > str.length - pos,则从位置 pos 替换str.length - pos的字符串
  • 返回 NULL情况:
    • ​​​​​​​​​​​​​​任何参数是 NULL。

示例:

SELECT
    INSERT(NULL, 6, 1, ' '),              // NULL
    INSERT('Hello_World', 6, 1, ' '),     // Hello World
    INSERT('Hello_World', 6, 20, ' '),    // Hello

二十七、INSTR 查找子串在目标串出现的第一个位置

MySQL INSTR() 函数返回一个子字符串在一个字符串中第一次出现的位置的数字索引。 INSTR() 函数是不区分大小写的。 INSTR() 函数与具有两个参数的 LOCATE() 函数的和 POSITION() 功能相同。

语法:

INSTR(str, substr)

参数说明:

  • str:必需的。 被搜索的字符串。
  • substr:必需的。 在 str 中搜索的子串。

返回值:

  • 子字符串 substr 在字符串 str 中的位置的数字索引。​​​​​​​(数字索引从 1 开始)​​​​​​​
  • 返回 0情况:找不到。
  • 返回 NULL情况:任意一个参数为 NULL。

示例:

SELECT
    INSTR('Hello World', 'He'),    // 1
    INSTR('Hello World', 'he'),    // 1
    INSTR('Hello World', 'do'),    // 0
    INSTR('Hello World', NULL)     // NULL

二十八、LCASE 转为小写

MySQL LCASE() 函数将指定字符串转为小写并返回。 LCASE() 函数是 LOWER() 函数的别名。
如果想将字符串转换为大写,请使用 UCASE() 或者 UPPER() 函数。

语法:

LCASE(str)

参数说明:

  • str:必需的。 被处理的字符串。

返回值:

  • ​​​​​​​指定字符串的小写形式。
  • 返回 NULL情况:str为NULL。

示例:

SELECT 
    LCASE('Hello'),    // hello
    LCASE(NULL)        // NULL

二十九、LOWER 转为小写

MySQL LOWER() 函数将指定字符串转为小写并返回。 LCASE() 函数是 LOWER() 函数的别名。
如果想将字符串转换为大写,请使用 UCASE() 或者 UPPER() 函数。
​​​​​​​详见:二十七、LCASE 转为小写

三十、LEFT 取左子串字符串

MySQL LEFT() 函数从指定字符串的左侧返回指定数量的字符组成的字符串。如果想从字符串的右侧提取字符,请使用 RIGHT() 函数。

语法:

LEFT(string, length)

参数说明:

  • string:必需的。需要从中提取字符的字符串。
  • length:必需的。需要从字符串中提取字符的数量。

返回值:

  • ​​​​​​​指定数量的字符组成的左子字符串。
  • 返回原字符串情况:length大于string的长度。
  • 返回空串情况:length为小于等于0。
  • 返回 NULL情况:任意一个参数为 NULL。

示例:

SELECT
    LEFT('Hello', 2),    // He
    LEFT('Hello', 6),    // Hello
    LEFT('Hello', 0),    // 
    LEFT('Hello', -1),   //
    LEFT('Hello', NULL)  // NULL

三十一、RIGHT 取右子串字符串

MySQL RIGHT() 函数从指定字符串的右侧返回指定数量的字符组成的字符串。如果想从字符串的左侧提取字符,请使用 LEFT() 函数。

操作参考三十、LEFT 取左子串字符串相似。不同是LEFT 是左边,而RIGHT是右边。(这里不再举例)

三十二、LOCATE 查找第一个子串的位置

MySQL LOCATE() 函数返回一个字符串在另一个字符串中第一次出现的位置的数字索引。 LOCATE() 函数是不区分大小写的。 LOCATE() 函数与具有两个参数的 INSTR() 函数的和 POSITION() 功能相同。

语法:

LOCATE(substr, str)
LOCATE(substr, str, startPos)

参数说明:

  • substr:必需的。 在 str 中搜索的子串。
  • str:必需的。 被搜索的字符串。
  • startPos:可选的。 在 str 中开始搜索的位置,从 1 开始。

返回值:

  • 子字符串 substr 在字符串 str 中的位置的数字索引。(数字索引从 1 开始)​​​​​​​
  • 返回 0情况:
    • 找不到。
    • startPos 为 0。
  • 返回 NULL情况:任意一个参数为 NULL

示例:

SELECT
    LOCATE('He', 'Hello World'),    // 1
    LOCATE('ho', 'Hello World'),    // 1
    LOCATE('go', 'Hello World'),    // 0
    LOCATE(NULL, 'Hello World'),    // NULL

​​​​​​​三十三、LPAD 左侧填充指定的字符串使其达到指定的长度

MySQL LPAD() 函数在字符串的左侧填充指定的字符串,使其达到指定的长度。如果想在字符串的右侧填充字符串,请使用 RPAD() 函数。

语法:

LPAD(str, len, padstr)

参数说明:

  • str:必需的。需要被填充的字符串。
  • len:必需的。填充字符串需要达到的长度。
  • padstr:可选的。被用来填充到原字符串左侧的字符串。

返回值:

  • ​​​​​​​填充后的字符串。
  • len 小于原字符串 str 的长度, str 将被截断到 len 的长度。
  • 返回 NULL情况:
    • ​​​​​​​​​​​​​​len 为负数。
    • 任意一个参数为 NULL。

示例:

SELECT
    LPAD('oh', 5, 'o'),        // ooooooh
    LPAD('oh', 1, '1'),        // o
    LPAD('oh', -1, 'o'),       // NULL
    LPAD('World', 15, 'Hello') // HelloHelloWorld

三十四、RPAD 右侧填充指定的字符串使其达到指定的长度

MySQL RPAD() 函数在一个字符串的右侧填充指定的字符串,使其达到指定的长度。如果想在字符串的左侧填充字符串,请使用 LPAD() 函数。

操作与LPAD相似。不同点是LPAD是多左侧,RPAD是右侧。详见:三十三、LPAD 左侧填充指定的字符串使其达到指定的长度。

三十五、MAKE_SET 按参数1的二进制位反转返回对应位置参数以逗号分隔集合

MySQL MAKE_SET() 函数返回一个逗号分隔的字符串集合,该函数通过第一个参数对应的二进制决定是否其他字符串参数是否添加到结果集合中。

语法:

MAKE_SET(bits, str1, str2, ...)

参数说明:

  • bits:必需的。一个数字。将 bits 转为二进制并反转后的各个位决定 str1, str2, ... 是否出现在结果中。

  • str1, str2, ...:必需的。备选字符串。str1, str2, ... 分别由 bits 二进制并反转后的值中的第 1, 2, ... 决定是否出现在结果中。

返回值:

  • ​​​​​​​根据 bits 对应的二进制并反转后的值挑选对应的字符串,并返回一个逗号分隔的字符串集合。
  • NULL参数直接被忽略。
  • 若bits为0,返回空。

示例:

SELECT
    MAKE_SET(0, 'a', 'b', 'c', 'd'), //
    MAKE_SET(1, 'a', 'b', 'c', 'd'), // a
    MAKE_SET(2, 'a', 'b', 'c', 'd'), // a,b
    MAKE_SET(3, 'a', 'b', 'c', 'd'), // b
    MAKE_SET(4, 'a', 'b', 'c', 'd'). // c
  • bits为0:返回空
  • bits为1:二进制为0001,反转后为1000,对应a,返回a。
  • bits为2:二进制为0010,反转后为0100,对应b,返回b。
  • bits为3:二进制为0011,反转后为1100,对应ab,返回a,b。
  • bits为4:二进制为0100,反转后为0010,对应c,返回c。

三十六、MID 取指定位置指定长度的子字符串

MySQL MID() 函数返回一个字符串中从指定位置开始的指定长度的子字符串。

MID(str, pos, len) 等同于 SUBSTRING(str, pos, len) 和 SUBSTR(str, pos, len) 函数。

语法:

MID(str, pos, len)

详见:四、SUBSTRING 取子字符串

三十七、OCT 数字转八进制

MySQL OCT() 函数返回给定数字的八进制值的字符串表示。

语法:

OCT(number)

参数说明:

  • number:必需的。需要以八进制表示的数字。

返回值:

  • ​​​​​​​给定数字的八进制值。
  • 返回 NULL情况:参数 number 为 NULL。
  • number 为非数字:首先尝试将其转为数字后再返回数字的八进制表示,无法转为数字则返回0。

示例:

SELECT
    OCT(12),     // 14
    OCT(3.5),    // 3
    OCT('A'),    // 0
    OCT('3A'),   // 3
    OCT(NULL)    // NULL

三十八、OCTET_LENGTH 取以字节为单位的长度

MySQL OCTET_LENGTH() 函数返回指定字符串的以字节为单位的长度。如果想返回字符的数量,请使用 CHAR_LENGTH() 函数或者 CHARACTER_LENGTH() 函数。

与 LENGTH() 函数相同。

详见:八、LENGTH 取以字节为单位的长度

三十九、ORD 取第一个字符的ASCII码

MySQL ORD() 函数返回字符串参数中的第一个字符的字符代码。如果第一个字符是单字节字符, ORD() 函数返回字符的 ASCII 值;如果第一个字符是多字节字符,返回公式 第一个字节代码 + 第二个字节的代码 * 256 + 第三个字节的代码 * 256 * 256 的结果。

语法:

ORD(string)

参数说明:

  • string:必需的。一个字符串。

返回值:

  • ​​​​​​​首先获取参数 string 最左侧的字符,然后根据字符是否多字节字符按如下规则返回:
    • 若第一个字符是单字节字符, 返回字符的 ASCII 值。
    • 若第一个字符是多字节字符,根据返回公式 第一个字节代码 + 第二个字节的代码 * 256 + 第三个字节的代码 * 256 * 256 的结果。

示例:

SELECT
    ORD('abc'),    // 97
    ORD('a'),      // 97
    ORD('A'),      // 65
    ORD('北京')     // 15043735

四十、POSITION 查找子串在目标串出现的第一个位置

MySQL POSITION() 函数返回一个字符串在另一个字符串中第一次出现的位置的数字索引。 POSITION() 函数是不区分大小写的。 POSITION() 函数与具有两个参数的 INSTR() 函数和 LOCATE() 函数 功能相同。语法上有些不同。

语法:

POSITION(substr IN str)

参数说明:

  • substr:必需的。 在 str 中搜索的子串。

  • str:必需的。 被搜索的字符串。

返回值:

  • ​​​​​​​子字符串 substr 在字符串 str 中的位置的数字索引。(数字索引从 1 开始)
  • 返回0情况:找不到。
  • 返回 NULL情况:任意一个参数为 NULL。

示例:

SELECT
    POSITION('Wo' IN 'Hello World'),    // 7
    POSITION('wo' IN 'Hello World'),    // 7
    POSITION('1' IN 'Hello World'),     // 0
    POSITION('l' IN NULL)               // NULL

四十一、QUOTE 用单引号包围字符串

MySQL QUOTE() 函数返回一个用单引号包围的字符串。 QUOTE() 函数会对 \' 符号转义。

语法:

QUOTE(string)

参数说明:

  • string:必需的。一个字符串。

返回值:

  • 用单引号包围的字符串。​​​​​​​
  • 返回NULL情况:参数为 NULL。

示例:

SELECT
    QUOTE('Hello''word!'),	// 'Hello\'word!'
    QUOTE('Hello world!'),	// 'Hello world!'
    QUOTE(NULL)							// NULL

四十二、REPEAT 字符串重复指定的次数

MySQL REPEAT() 函数将指定的字符串重复指定的次数并返回。

语法:

REPEAT(str, count)

参数说明:

  • str:必需的。 需要重复的字符串。

  • count:必需的。 需要重复的次数。

返回值:

  • ​​​​​​​字符串重复指定的次数并返回。
  • 返回空字符串 ''情况:count为0。
  • 返回 NULL情况:任意一个参数为 NULL。

示例:

SELECT
    REPEAT('Hello', 3),    // HelloHelloHello
    REPEAT('MySQL', 0),    // 
    REPEAT('MySQL', -1),   // 
    REPEAT('MySQL', NULL)  // NULL

四十三、SOUNDEX 取发音的 soundex 字符串

MySQL SOUNDEX() 函数返回表示字符串发音的 soundex 字符串。 SOUNDEX() 函数用来比较两个单词的发音是否相同。如果两个单词发音相同,则他们的 soundex 字符串是相同的。

SOUNDEX(string) 函数只处理参数 string 中的字母,其他非字母字符将被忽略。

语法:

SOUNDEX(string)

参数说明:

  • string:必需的。一个字符串。

返回值:

  • ​​​​​​​发音的 soundex 字符串。
    • 标准的 soundex 字符串的长度为四个字符,但 SOUNDEX() 函数返回的字符串长度可能超过 4。如果您想获取标准的 soundex 字符串,您可以对 SOUNDEX() 函数的结果使用 SUBSTRING() 函数进行截取。

示例:

SELECT
    SOUNDEX('Hole'),    // H400
    SOUNDEX('Whole'),	// W400
    SOUNDEX('Our'),		// O600
    SOUNDEX('Our123'),  // O600
	SOUNDEX('123Our123')// O600

四十四、SPACE 取指定数量空格字符串

MySQL SPACE() 函数返回一个字符串,它由指定数量的空格符组成。

语法:

SPACE(count)

参数说明:

  • count:必需的。组成字符串的空格符号的数量。

返回值:

  • 由指定数量的空格组成的字符串。​​​​​​​
  • 返回''情况:count 小于 1 。
  • 返回 NULL情况:参数为 NULL

示例:

SELECT
    LENGTH(SPACE(2)),    // 2
    LENGTH(SPACE(-1)),   // 0
    SPACE(NULL)          // NULL

四十五、STRCMP 比较两个字符串

MySQL STRCMP() 函数比较两个字符串并返回比较结果。STRCMP() 函数基于字符串采用的字符排列规则(collation)比较两个字符串。

语法:

STRCMP(str1, str2)

参数说明:

  • str1:必需的。参与比较的第 1 个字符串。

  • str2:必需的。参与比较的第 2 个字符串。

返回值:

  • ​​​​​​​两个字符串比较后的结果。
    • str1 等于 str1, STRCMP() 函数将返回 0
    • str1 小于 str1, STRCMP() 函数将返回 -1
    • str1 大于 str1, STRCMP() 函数将返回 1
    • 返回 NULL情况:任意个参数为 NULL。

示例:

SELECT
    STRCMP('hello', 'hello'),    // 0
    STRCMP('hello1', 'hello'),   // 1
    STRCMP('hello', 'hello1'),   // -1
    STRCMP('hello', 'world'),    // -1
    STRCMP(NULL, NULL)           // NULL
  • 修改排序规则比较如下:
SET @s1 = _utf8mb4 'hello' COLLATE utf8mb4_general_ci;
SET @s2 = _utf8mb4 'Hello' COLLATE utf8mb4_0900_ai_ci;
SET @s3 = _utf8mb4 'hello' COLLATE utf8mb4_0900_as_cs;
SET @s4 = _utf8mb4 'Hello' COLLATE utf8mb4_0900_as_cs;
SELECT 
    STRCMP(@s1, @s2),// 排序规则不同无法比较直接报错
    STRCMP(@s3, @s4) // -1

四十六、TO_BASE64 以base-64编码字符串

MySQL TO_BASE64() 函数将给定字符串以 base-64 形式编码,并返回编码后的字符串表示。
FROM_BASE64() 函数可以解码 TO_BASE64() 函数的结果。
不同于现有的 base-64 方案, MySQL TO_BASE64() 和 FROM_BASE64() 函数有些特殊的规则:

  • 字母值 62 的编码是 '+'。
  • 字母值 63 的编码是 '/'。
  • 编码输出由 4 个可打印字符组成。输入数据的每 3 个字节使用 4 个字符进行编码。如果最后一组长度不够 4,则用 '=' 字符填充。
  • 在编码输出的每 76 个字符之后添加一个换行符,以将长输出分成多行。
  • 解码识别并忽略换行符、回车符、制表符和空格。

语法:

TO_BASE64(str)

参数说明:

  • str:必需的。 用于 base-64 编码的字符串。

返回值:

  • ​​​​​​​以 base-64 形式编码后的字符串。
  • 返回 NULL情况:参数为NULL。

示例:

SELECT
    TO_BASE64('Hello World'),                // SGVsbG8gV29ybGQ=
    FROM_BASE64(TO_BASE64('Hello World')),   // Hello World
    TO_BASE64(NULL)                          // NULL

四十七、UCASE 字符串转为大写

MySQL UCASE() 函数将指定字符串转为大写并返回。UCASE() 函数是 UPPER() 函数的别名。
如果想将字符串转换为小写,请使用 LCASE() 或者 LOWER() 函数。

详见:七、UPPER 字母转大写。

四十八、UNHEX 十六进制数值的字符串转换为字节

MySQL UNHEX() 函数将代表十六进制数值的字符串转换为字节,并返回对应的二进制字符串。
UNHEX() 函数的处理过程为从十六进制数值的字符串参数中每两位转换为字节,并将所有的字节组合起来作为二进制字符串返回。
UNHEX() 函数是 HEX() 函数的逆向操作。

语法:

UNHEX(string)

参数说明:

  • string:必需的。十六进制数值字符串。字符串中只允许出现十六进制允许的符号: 0...9A...Fa...f

返回值:

  • ​​​​​​​二进制字符串。
  • 返回 NULL情况:
    • ​​​​​​​string 不是合法的十六进制数值。
    • number 为 NULL。
  • 由于 UNHEX() 函数返回的是二进制字符串,因此在 mysql 客户端显示的结果可能是十六进制内容。请在登陆时使用 --binary-as-hex=false 以禁用将二进制内容显示为十六进制。

示例:

SELECT
    HEX('Hello'),        // 48656C6C6F
    UNHEX(HEX('Hello')), // Hello
    UNHEX('Invalid'),    // NULL
    UNHEX(NULL)          // NULL
  • 使用 --binary-as-hex示例详见:二十五、HEX 取参数的十六进制值的字符串表示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1199723.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git的原理与使用(一)

目录 Git初始 Git安装 Git基本操作 创建git本地仓库 配置git 工作区,暂存区,版本库 添加文件,提交文件 查看.git文件 修改文件 版本回退 小结 Git初始 git是一个非常强大的版本控制工具.可以快速的将我们的文档和代码等进行版本管理. 下面这个实例看理解下为什么需…

eocc1_Findings_candlestick_ohlc_volume_

An Unusually Tall Candle Often Has a Minor High or Minor Low Occurring within One Day of It异常高的蜡烛通常会在一天内出现小幅高点或小幅低点 I looked at tens of thousands of candles to prove this, and the study details are on my web site, ThePatternSite.com…

软件工程——名词解释

适用多种类型的软件工程教材,有关名词释义的总结较为齐全~ 目录 1. 软件 2. 软件危机 3. 软件工程 4. 软件生存周期 5. 软件复用 6. 质量 7. 质量策划 8. 质量改进 9. 质量控制 10. 质量保证 11. 软件质量 12. 正式技术复审 13. ISO 14. ISO9000 15.…

SpringBoot系列-2 自动装配

背景: Spring提供了IOC机制,基于此我们可以通过XML或者注解配置,将三方件注册到IOC中。问题是每个三方件都需要经过手动导入依赖、配置属性、注册IOC,比较繁琐。 基于"约定优于配置"原则的自动装配机制为该问题提供了一…

macOS使用conda初体会

最近在扫盲测序的一些知识 其中需要安装一些软件进行练习,如质控的fastqc,然后需要用conda来配置环境变量和安装软件。记录一下方便后续查阅学习 1.安装miniconda 由于我的电脑之前已经安装了brew,所以我就直接用brew安装了 brew install …

【yolov5】onnx的INT8量化engine

GitHub上有大佬写好代码,理论上直接克隆仓库里下来使用 git clone https://github.com/Wulingtian/yolov5_tensorrt_int8_tools.git 然后在yolov5_tensorrt_int8_tools的convert_trt_quant.py 修改如下参数 BATCH_SIZE 模型量化一次输入多少张图片 BATCH 模型量化…

Technology Strategy Patterns 学习笔记8- Communicating the Strategy-Decks(ppt模板)

1 Ghost Deck/Blank Deck 1.1 It’s a special way of making an initial deck that has a certain purpose 1.2 you’re making sure you have figured out what all the important shots are before incurring the major expense of shooting them 1.3 需要从技术、战略、产…

2023 年最新企业微信官方会话机器人开发详细教程(更新中)

目标是开发一个简易机器人,能接收消息并作出回复。 获取企业 ID 企业信息页面链接地址:https://work.weixin.qq.com/wework_admin/frame#profile 自建企业微信机器人 配置机器人应用详情 功能配置 接收消息服务器配置 配置消息服务器配置 配置环境变量…

[01]汇川IMC30G-E系列运动控制卡应用笔记

简介 IMC30G-E系列产品是汇川技术自主研制的高性能EtherCAT网络型运动控制器(卡),同时兼容脉冲轴的控制;IMC30G-E支持点位/JOG、插补、多轴同步、高速位置比较输出、PWM等全面的运动控制功能,具备高同步控制精度。 开发…

OpenWRT浅尝 / 基于RAVPower-WD009便携路由文件宝的旁路网关配置

目录 前言需求分析手头的设备家庭网络拓扑图旁路网关配置OpenWRT固件选择OpenWRT固件刷入旁路网关配置流程 旁路网关的使用前置工作日常存储/关键备份内网穿透24小时待命下载器 前言 近期由于个人需求,需要一台OpenWRT设备实现一些功能。所以本文主要还是为了自己后…

k8s-实验部署 1

1、k8s集群部署 更改所有主机名称和解析 开启四台实验主机,k8s1 仓库;k8s2 集群控制节点; k8s3 和k8s4集群工作节点; 集群环境初始化 使用k8s1作为仓库,将所有的镜像都保存在本地,不要将集群从外部走 仓库…

金和OA jc6 任意文件上传漏洞复现

0x01 产品简介 金和OA协同办公管理系统软件(简称金和OA),本着简单、适用、高效的原则,贴合企事业单位的实际需求,实行通用化、标准化、智能化、人性化的产品设计,充分体现企事业单位规范管理、提高办公效率…

学习率范围测试(LR Finder)脚本

简介 深度学习中的学习率是模型训练中至关重要的超参数之一。合适的学习率可以加速模型的收敛,提高训练效率,而不恰当的学习率可能导致训练过慢或者无法收敛。为了找到合适的学习率,LR Finder成为了一种强大的工具。 学习率范围测试&#x…

Django的ORM操作

文章目录 1.ORM操作1.1 表结构1.1.1 常见字段和参数1.1.2 表关系 2.ORM2.1 基本操作2.2 连接数据库2.3 基础增删改查2.3.1 增加2.3.2 查找2.3.4 删除2.3.4 修改 1.ORM操作 orm,关系对象映射,本质翻译的。 1.1 表结构 实现:创建表、修改表、…

思维模型 暗示效应

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。无形中引导他人的思想和行为。 1 暗示效应的应用 1.1 暗示效应在商业品牌树立中的应用 可口可乐的品牌形象:可口可乐通过广告、包装和营销活动,向消费者传递了一种…

【递归】求根节点到叶节点数字之和(Java版)

目录 1.题目解析 2.讲解算法原理 3.代码 1.题目解析 LCR 049. 求根节点到叶节点数字之和 给定一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点…

伙伴(buddy)系统原理

一、伙伴算法的由来 在实际情况中,操作系统必须能够在任意时刻申请和释放任意大小的内存,该函数的实现需要考虑延时问题和碎片问题。 延时问题指的是系统查找到可分配单元的时间变长,例如程序请求分配一个64KB的内存空间,系统查看…

Technology Strategy Patterns 学习笔记9 - bringing it all together

1 Patterns Map 2 Creating the Strategy 2.1 Ansoff Growth Matrix 和owth-share Matrix 区别参见https://fourweekmba.com/bcg-matrix-vs-ansoff-matrix/ 3 Communicating

STM32F407: CMSIS-DSP库的移植(基于库文件)

目录 1. 源码下载 2. DSP库源码简介 3.基于库的移植(DSP库的使用) 3.1 实验1 3.2 实验2 4. 使用V6版本的编译器进行编译 上一篇:STM32F407-Discovery的硬件FPU-CSDN博客 1. 源码下载 Github地址:GitHub - ARM-software/CMSIS_5: CMSIS Version 5…

开发者测试2023省赛--Square测试用例

测试结果 官方提交结果 EclEmma PITest 被测文件 [1/7] Square.java /*** This class implements the Square block cipher.** <P>* <b>References</b>** <P>* The Square algorithm was developed by <a href="mailto:Daemen.J@banksys.co…