0


如何在MySQL中将VARCHAR转换为INT

要将VARCHAR转换为INT,我们可以使用**

cast()

**MySQL中的函数。这是

cast()

函数的语法。

cast(anyValue as dataType)

AS关键字用于分隔两个参数,在AS之前的是要处理的数据,在AS之后的是要转换的数据类型

参数说明

value: 要转换的值

datatype: 要转换成的数据类型

datatype参数取值

值 描述 DATE 将value转换成'YYYY-MM-DD'格式 DATETIME 将value转换成'YYYY-MM-DD HH:MM:SS'格式 TIME 将value转换成'HH:MM:SS'格式 CHAR 将value转换成CHAR(固定长度的字符串)格式 SIGNED 将value转换成INT(有符号的整数)格式 UNSIGNED 将value转换成INT(无符号的整数)格式 DECIMAL 将value转换成FLOAT(浮点数)格式 BINARY 将value转换成二进制格式

示例:

hl_data_gis_category表中的id最大值为17.

使用以下语法将varchar转换为int。

SELECT CAST(yourColumnName AS anyDataType) FROM yourTableName;

应用以上语法将varchar转换为int,找出最大值。

    SELECT
        max(cast(id AS UNSIGNED))
    FROM
        hl_data_gis_category

以下是输出。

查看上面的输出,我们将varchar更改为int。

延伸:

1.将值转换为DATE数据类型

1

2

3

4

5

6

7

-- 2017-08-29
SELECT
CAST
(
'2017-08-29'
AS
DATE
); 
 
-- 2022-04-27 15:42:19
SELECT
NOW();
-- 2022-04-27
SELECT
CAST
(NOW() 
AS
DATE
);

2.将值转换为DATETIME数据类型

1

2

-- 2022-04-27 00:00:00
SELECT
CAST
(
'2022-04-27'
AS
DATETIME);

3.将值转换为TIME数据类型

1

2

3

4

-- 14:06:10
SELECT
CAST
(
'14:06:10'
AS
TIME
); 
-- 14:06:10
SELECT
CAST
(
'2022-04-27 14:06:10'
AS
TIME
);

4.将值转换为CHAR数据类型

1

2

3

4

5

6

7

-- '150'
SELECT
CAST
(150 
AS
CHAR
); 
 
-- 出错Error
SELECT
CONCAT(
'Hello World'
,437));
-- 'Hello World437'
SELECT
CONCAT(
'Hello World'
,
CAST
(437 
AS
CHAR
));

5.将值转换为SIGNED数据类型

1

2

3

4

5

6

7

8

9

10

11

12

13

14

-- 5
SELECT
CAST
(
'5.0'
AS
SIGNED);
-- 2
SELECT
(1 + 
CAST
(
'3'
AS
SIGNED))/2;
-- -5
SELECT
CAST
(5-10 
AS
SIGNED); 
-- 6
SELECT
CAST
(6.4 
AS
SIGNED);
-- -6
SELECT
CAST
(-6.4 
AS
SIGNED);
-- 7
SELECT
CAST
(6.5 
AS
SIGNED); 
-- -7
SELECT
CAST
(-6.5 
AS
SIGNED);

6.将值转换为UNSIGNED数据类型

1

2

3

4

5

6

7

8

9

10

-- 5
SELECT
CAST
(
'5.0'
AS
UNSIGNED);
-- 6
SELECT
CAST
(6.4 
AS
UNSIGNED);
-- 0
SELECT
CAST
(-6.4 
AS
UNSIGNED);
-- 7
SELECT
CAST
(6.5 
AS
UNSIGNED); 
-- 0
SELECT
CAST
(-6.5 
AS
UNSIGNED);

7.将值转换为DECIMAL数据类型

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

-- 9
SELECT
CAST
(
'9.0'
AS
DECIMAL
);
 
-- DECIMAL(数值精度,小数点保留长度)
-- DECIMAL(10,2)可以存储最多具有8位整数和2位小数的数字
-- 精度与小数位数分别为10与2
-- 精度是总的数字位数,包括小数点左边和右边位数的总和
-- 小数位数是小数点右边的位数
-- 9.50
SELECT
CAST
(
'9.5'
AS
DECIMAL
(10,2));
-- 99999999.99
SELECT
CAST
(
'1234567890.123'
AS
DECIMAL
(10,2));
 
-- 220.232
SELECT
CAST
(
'220.23211231'
AS
DECIMAL
(10, 3));
-- 220.232
SELECT
CAST
(220.23211231 
AS
DECIMAL
(10, 3));
标签: mysql 数据库 java

本文转载自: https://blog.csdn.net/weixin_54514751/article/details/130615134
版权归原作者 layman· 所有, 如有侵权,请联系我们删除。

“如何在MySQL中将VARCHAR转换为INT”的评论:

还没有评论