mysql 查询时字符串转数字
时间: 2024-09-09 12:07:26 浏览: 68
在MySQL中,当你需要从字符串转换为数字时,可以使用内置的CAST、CONVERT或NUMERIC函数。以下是几种常用的方法:
1. **CAST() 函数**:
```sql
SELECT CAST('123' AS SIGNED) AS number; -- 将字符串转化为整数
SELECT CAST('123.45' AS DECIMAL(5,2)) AS decimal_number; -- 转化为小数
```
2. **CONVERT() 函数**:
这个函数的语法与CAST类似,只是更推荐使用。
```sql
SELECT CONVERT(SIGNED, '123') AS number;
SELECT CONVERT(NUMERIC(5,2), '123.45') AS decimal_number;
```
3. **UNION ALL + TRIM() + CAST/CONVERT**:
如果数据前有空格或其他非数字字符,可以先清理再转换。
```sql
SELECT CAST(TRIM(' 123 ') AS SIGNED) FROM dual;
```
注意:
- 如果字符串无法转换成数字,上述函数会返回NULL值。
- NUMERIC函数通常用于精确到小数点后的位数,SIGNED表示正负数。
相关问题
MySQL 字符串转数字
在MySQL中,可以使用CAST()函数或者CONVERT()函数将字符串转换为数字。
1. 使用CAST()函数:
CAST()函数可以将一个表达式转换为指定的数据类型。在将字符串转换为数字时,可以使用CAST()函数将字符串转换为整数或浮点数。
例如,将字符串'123'转换为整数可以使用以下语法:
```
SELECT CAST('123' AS SIGNED);
```
将字符串'3.14'转换为浮点数可以使用以下语法:
```
SELECT CAST('3.14' AS DECIMAL(10,2));
```
2. 使用CONVERT()函数:
CONVERT()函数也可以将一个表达式转换为指定的数据类型。在将字符串转换为数字时,可以使用CONVERT()函数将字符串转换为整数或浮点数。
例如,将字符串'123'转换为整数可以使用以下语法:
```
SELECT CONVERT('123', SIGNED);
```
将字符串'3.14'转换为浮点数可以使用以下语法:
```
SELECT CONVERT('3.14', DECIMAL(10,2));
```
MySQL sql语句字符串转数字类型
MySQL中可以使用CAST函数或者CONVERT函数将字符串转换成数字类型。这两个函数的使用方法如下:
1. CAST函数:
```
CAST(string AS type)
```
其中,string是要转换的字符串,type是要转换成的数据类型,比如INT、FLOAT等。例如,将字符串'123'转换成整型可以使用以下语句:
```
SELECT CAST('123' AS UNSIGNED INT);
```
2. CONVERT函数:
```
CONVERT(string,type)
```
其中,string和type的含义与CAST函数一样。例如,将字符串'123'转换成浮点型可以使用以下语句:
```
SELECT CONVERT('123',DECIMAL(10,2));
```