Cómo convertir VARCHAR a INT en MySQL

Para convertir VARCHAR a INT podemos usar cast()funciones en MySQL. Esta es cast()la sintaxis de la función.

cast(anyValue as dataType)

La palabra clave AS se utiliza para separar dos parámetros: los datos antes de AS son los datos que se van a procesar y los datos después de AS son el tipo de datos que se va a convertir. 

Descripción de parámetros

valor: el valor a convertir

tipo de datos: el tipo de datos a convertir

valor del parámetro de tipo de datos

Valor Descripción FECHA Convertir valor a formato 'AAAA-MM-DD' DATETIME Convertir valor a formato 'AAAA-MM-DD HH:MM:SS' HORA Convertir valor a formato 'HH:MM:SS' CHAR Convertir valor Convertir valor a CHAR (cadena de longitud fija) formato SIGNED Convertir valor a formato INT (entero con signo) UNSIGNED Convertir valor a formato INT (entero sin signo) DECIMAL Convertir valor a formato FLOAT (número de punto flotante) BINARY Convertir valor convertir a formato binario

Ejemplo:

El valor máximo de id en la tabla hl_data_gis_category es 17.

 
 

Utilice la siguiente sintaxis para convertir varchar a int.

SELECT CAST(yourColumnName AS anyDataType) FROM yourTableName;

Aplique la sintaxis anterior para convertir varchar a int y encontrar el valor máximo.

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

A continuación se muestra la salida.

 
 

 Mirando el resultado anterior, cambiamos varchar a int.

extender:

1. Convierta el valor al tipo de datos FECHA

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. Convierta el valor al tipo de datos DATETIME

1

2

-- 2022-04-27 00:00:00

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

3. Convierta el valor al tipo de datos 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. Convierta el valor al tipo de datos 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. Convierta el valor al tipo de datos FIRMADO

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. Convierta el valor al tipo de datos SIN FIRMAR

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. Convierta el valor al tipo de datos DECIMAL

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

dieciséis

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));

Supongo que te gusta

Origin blog.csdn.net/weixin_54514751/article/details/130615134
Recomendado
Clasificación