Mysql 的字符串转整形实践指南(mysql字符串转整形)

MySQL是开源数据库。它是用来保存和管理数据的枢纽,当一个程序需要对保存的数据进行字符串操作的时候,就需要MySQL支持的SQL语言相关函数来实现。本文档将介绍MySQL字符串转整形的实践指南,并有示例代码展示。

字符串转整形操作可以使用MySQL的CAST和CONVERT函数实现,CAST函数用来强制传入的字符串转换成整形:

SELECT CAST('123' as UNSIGNED INTEGER);// 返回123

CAST函数不仅能转换字符串,还能将其他类型转换成整形,例如`FLOAT`、`DECIMAL`等:

SELECT CAST(123.456 as UNSIGNED INTEGER); //返回123

CONVERT函数与CAST函数的用法差不多,只是它的范围略有不同,可以将更多类型转换为整形:

SELECT CONVERT('1' USING ASCII); // 返回49

CONVERT函数也支持在字符串转整形的过程中,将字符串的字符集转换为另一种字符集,比如在ISO-8859-1转换为UTF-8时:

SELECT CONVERT(' example ' USING ISO-8859-1); //返回 example

MySQL中,使用`STR_TO_DATE()`函数可以将字符串转换成 `DATE` 类型:

SELECT STR_TO_DATE('2017-07-05', '%Y-%m-%d'); //返回 '2017-07-05' 

当执行`STR_TO_DATE()`函数时,如果字符串和所设定格式不匹配,则会返回`NULL`,这时应该使用MySQL的异常处理语句处理:

BEGIN

DECLARE v_str VARCHAR(20);

DECLARE v_date DATE;

SET v_str = '2017-07 05';

SET v_date = STR_TO_DATE(v_str, '%Y-%m-%d');

IF v_date IS NULL THEN

name_error('format is not right');

ELSE

SELECT v_date;

END IF;

END

// 抛出异常: format is not right

总结:MySQL的`CAST`和`CONVERT`函数可以对字符串进行整形转换,加入处理异常函数可以有效检测到字符串是否和预期不符,这样可以在操作数据库类型时增加安全性。另外,使用`STR_TO_DATE()`函数可以将字符串转换成MySQL `DATE` 类型,可以有效的保存 `DATE`类型的数据。


数据运维技术 » Mysql 的字符串转整形实践指南(mysql字符串转整形)