SQL Server - convertir varchar a entero

 
Vista:

convertir varchar a entero

Publicado por karina (16 intervenciones) el 20/03/2023 15:45:37
Hola a todos,

Una consulta , ¿se pude convertir un dato varchar a entero?, necesito ordenar como entero y tengo datos compuestos con letras y numeros por ej. BS12 , que son los menos .

Debo sacar el máximo valor y es la unica manera que se me ocurre .

¿me pueden ayudar por favor?

Gracias,
Karina
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

convertir varchar a entero

Publicado por Yamil Bracho (3 intervenciones) el 20/03/2023 16:02:05
Si tienes ese patron de dos letras y lo demas numeros puedes usar algo como
SELECT CAST( SUBSTRING('BS12', 3, LEN('BS12')-2) AS INT);
Si no entonces tienes que hacer una funcion que te extraiga los numeros
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

convertir varchar a entero

Publicado por karina (16 intervenciones) el 20/03/2023 16:31:14
Gracias,

voy hacer la prueba .

saludos,
Karina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

convertir varchar a entero

Publicado por Isaias (4558 intervenciones) el 20/03/2023 20:21:36
Puedes tambien crear una funcion de usuario donde le pases los valores char y obtengas solo los numeros

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CREATE FUNCTION dbo.udf_GetNumeric
(@strAlphaNumeric VARCHAR(256))
RETURNS VARCHAR(256)
AS
BEGIN
DECLARE @intAlpha INT
SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric)
BEGIN
WHILE @intAlpha > 0
BEGIN
SET @strAlphaNumeric = STUFF(@strAlphaNumeric, @intAlpha, 1, '' )
SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric )
END
END
RETURN ISNULL(@strAlphaNumeric,0)
END
GO
 
SELECT dbo.udf_GetNumeric(column_name)
from table_name
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar