stuff for español concatenar sql tsql datetime try-catch

español - stuff sql server for xml path



INTENTE ENCONTRAR en un CONVERTIR en una declaración selecta (5)

En MS SQL Server 2012 hay una nueva construcción que hace exactamente lo que se solicita:

SELECT CASE WHEN TRY_CONVERT(float, ''test'') IS NULL THEN ''Cast failed'' ELSE ''Cast succeeded'' END AS Result; GO

Consulte también http://msdn.microsoft.com/en-us/library/hh230993.aspx

¿Es posible usar los bloques TRY CATCH en las Selecciones de SQL?

Para cosas similares a esto por ejemplo:

select order, CONVERT(DATETIME, orderDate) from orders

¿Cuál es la mejor manera de manejar este escenario?


En la propia cláusula SELECT, no.

Puedes probar una fecha usando ISDATE ()

select order, CASE WHEN ISDATE(orderDate) = 1 THEN CONVERT(DATETIME, orderDate) ELSE NULL END from orders


No creo que una captura de prueba sea posible dentro de una selección, pero afuera es posible cuando se trabaja con procedimientos almacenados.

begin try select cast(strartnr as int) from table end try begin catch select 10000 from table end catch


No sé acerca de try-catch, pero en SQL Server tiene la función ISDATE y puede hacer algo como

CASE WHEN ISDATE(orderDate) = 1 THEN CONVERT(DateTime, orderDate) ELSE GETDATE() END


Puedes usar la función ISDATE ():

SELECT ISDATE(''11/13/2009'') SELECT ISDATE(''13/11/2009'')