Microsoft SQL Server
Convertir tipos de datos
Buscar..
PRUEBA PARSE
Convierte el tipo de datos de cadena al tipo de datos de destino (Fecha o Numérico).
Por ejemplo, los datos de origen son de tipo cadena y debemos convertirlos en tipo de fecha. Si el intento de conversión falla, devuelve un valor NULL.
Sintaxis: TRY_PARSE (string_value AS data_type [USING culture])
String_value: este argumento es el valor de origen que es el tipo NVARCHAR (4000).
Tipo de datos: este argumento es el tipo de datos de destino, ya sea fecha o numérico.
Cultura: es un argumento opcional que ayuda a convertir el valor en formato de Cultura. Supongamos que desea mostrar la fecha en francés, entonces necesita pasar el tipo de cultura como 'Fr-FR'. Si no pasa ningún nombre de cultura válido, entonces PARSE generará un error.
DECLARE @fakeDate AS varchar(10);
DECLARE @realDate AS VARCHAR(10);
SET @fakeDate = 'iamnotadate';
SET @realDate = '13/09/2015';
SELECT TRY_PARSE(@fakeDate AS DATE); --NULL as the parsing fails
SELECT TRY_PARSE(@realDate AS DATE); -- NULL due to type mismatch
SELECT TRY_PARSE(@realDate AS DATE USING 'Fr-FR'); -- 2015-09-13
PRUEBA CONVERTIR
Convierte el valor al tipo de datos especificado y, si la conversión falla, devuelve NULL. Por ejemplo, el valor de origen en formato de cadena y necesitamos el formato de fecha / entero. Entonces esto nos ayudará a lograr lo mismo.
Sintaxis: TRY_CONVERT (tipo de datos [(longitud)], expresión [, estilo])
TRY_CONVERT () devuelve una conversión de valor al tipo de datos especificado si la conversión tiene éxito; De lo contrario, devuelve nulo.
Tipo de datos: el tipo de datos al que se va a convertir. Aquí la longitud es un parámetro opcional que ayuda a obtener resultados en una longitud específica.
Expresión - El valor a convertir
Estilo: es un parámetro opcional que determina el formato. Supongamos que desea un formato de fecha como "18 de mayo de 2013", entonces necesita un estilo de pase como 111.
DECLARE @sampletext AS VARCHAR(10);
SET @sampletext = '123456';
DECLARE @ realDate AS VARCHAR(10);
SET @realDate = '13/09/2015’;
SELECT TRY_CONVERT(INT, @sampletext); -- 123456
SELECT TRY_CONVERT(DATETIME, @sampletext); -- NULL
SELECT TRY_CONVERT(DATETIME, @realDate, 111); -- Sep, 13 2015
TRY CAST
Convierte el valor al tipo de datos especificado y, si la conversión falla, devuelve NULL. Por ejemplo, el valor de origen en formato de cadena y lo necesitamos en formato doble / entero. Entonces esto nos ayudará a lograrlo.
Sintaxis: TRY_CAST (expresión AS tipo de datos [(longitud)])
TRY_CAST () devuelve un valor de conversión al tipo de datos especificado si la conversión tiene éxito; De lo contrario, devuelve nulo.
Expresión: el valor de origen que se va a emitir.
Tipo de datos: el tipo de datos de destino que emitirá el valor de origen.
Longitud: es un parámetro opcional que especifica la longitud del tipo de datos de destino.
DECLARE @sampletext AS VARCHAR(10);
SET @sampletext = '123456';
SELECT TRY_CAST(@sampletext AS INT); -- 123456
SELECT TRY_CAST(@sampletext AS DATE); -- NULL
Emitir
La función Cast () se utiliza para convertir una variable de tipo de datos o datos de un tipo de datos a otro tipo de datos.
Sintaxis
CAST ([Expresión] AS Datatype)
El tipo de datos al que está emitiendo una expresión es el tipo de destino. El tipo de datos de la expresión de la que está emitiendo es el tipo de origen.
DECLARE @A varchar(2)
DECLARE @B varchar(2)
set @A='25a'
set @B='15'
Select CAST(@A as int) + CAST(@B as int) as Result
--'25a' is casted to 25 (string to int)
--'15' is casted to 15 (string to int)
--Result
--40
DECLARE @C varchar(2) = 'a'
select CAST(@C as int) as Result
--Result
--Conversion failed when converting the varchar value 'a' to data type int.
Lanza el error si falla
Convertir
Cuando convierte expresiones de un tipo a otro, en muchos casos habrá una necesidad dentro de un procedimiento almacenado u otra rutina para convertir datos de un tipo de fecha y hora a un tipo de varchar. La función Convertir se usa para tales cosas. La función CONVERTIR () se puede usar para mostrar datos de fecha / hora en varios formatos. Sintaxis
CONVERTIR (tipo de datos (longitud), expresión, estilo)
Estilo: valores de estilo para la conversión datetime o smalldatetime en datos de caracteres. Agregue 100 a un valor de estilo para obtener un año de cuatro lugares que incluya el siglo (aaaa).
select convert(varchar(20),GETDATE(),108)
13:27:16