sql字符串转换为数字要如何编写?

TheDisguiser 2020-07-27 16:32:27 java常见问答 5876

数据库的基础语法是十分重要的,因为它们是不变的,而语言及框架随时会变,在数据库中,小伙伴们知道要如何将sql字符串转换为数字吗?本篇文章就将带你了解详情。

[size=medium][color=red][b]MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:[/b][/color][/size]

CAST(value as type);

CONVERT(value, type);

就是CAST(xxx AS 类型), CONVERT(xxx,类型)。

可以转换的类型是有限制的。这个类型可以是以下值其中的一个:

二进制,同带binary前缀的效果 : BINARY

字符型,可带参数 : CHAR()

日期 : DATE

[b][color=red]时间: TIME[/color][/b]

日期时间型 : DATETIME

浮点数 : DECIMAL

[color=red][b]整数 : SIGNED [/b][/color]

无符号整数 : UNSIGNED

下面举几个例子:

mysql> SELECT CONVERT('23',SIGNED);
+----------------------+
| CONVERT('23',SIGNED) |
+----------------------+
| 23 |
+----------------------+
1 row in set (0.00 sec)
mysql> SELECT CAST('125.34edf342.83' AS SIGNED);
+-----------------------------------+
| CAST('125.34edf342.83' AS SIGNED) |
+-----------------------------------+
| 125 |
+-----------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql> SELECT CAST('3.35' AS SIGNED);
+------------------------+
| CAST('3.35' AS SIGNED) |
+------------------------+
| 3 |
+------------------------+
1 row in set, 1 warning (0.00 sec)
mysql> SELECT CAST('45' AS SIGNED);
+----------------------+
| CAST('45' AS SIGNED) |
+----------------------+
| 45 |
+----------------------+
1 row in set (0.00 sec)
mysql> SELECT CAST('-45' AS SIGNED);
+-----------------------+
| CAST('-45' AS SIGNED) |
+-----------------------+
| -45 |
+-----------------------+
1 row in set (0.00 sec)

以上就是文章的所有内容,对java项目中常见问题还有疑问的小伙伴请记得关注我们网站来了解答案。

推荐阅读:

hibernate执行原生sql的方式详解

ibatis动态拼接sql怎么实现?

nosql的特点是什么?有什么特点?