ISDATE (Transact-SQL)

Determina si una expresión de entrada es una fecha válida.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

ISDATE ( expression )

Argumentos

  • expression
    Es una expresión que se valida como una fecha. expression es una expresión de cualquier tipo, excepto text, ntext e image, que se puede convertir implícitamente a nvarchar.

    [!NOTA] Si expression es de tipo varchar, el valor se convierte en nvarchar(4000). Si se pasa un valor más alto que producirá un truncamiento, SQL Server 2005 generará un error.

Tipos de valor devueltos

int

Notas

ISDATE sólo es determinista si se utiliza con la función CONVERT, se especifica el parámetro de estilo CONVERT y el estilo no es igual a 0, 100, 9 ni 109.

Los valores de LANGUAGE y DATEFORMAT pueden afectar al valor devuelto de ISDATE.

Para obtener ejemplos de plantillas en las que ISDATE devolverá 1, vea la columna Entrada/salida de la sección "Argumentos" de CAST y CONVERT.

ISDATE devuelve 1 si la expresión de entrada es una fecha válida; en caso contrario, devuelve 0. La tabla siguiente muestra los valores devueltos de una selección de ejemplos.

Valor de la columna (varchar) Valor devuelto de ISDATE

NULL

0

Abc

0

100, -100, 100 a o 100.00

0

.01

0

-100.1234e-123

0

.231e90

0

$100.12345, - $100.12345 o $-1000.123

0

as100 o 1a00

0

1995-10-1, 1/20/95, 1995-10-1 12:00pm, Feb 7 1995 11:00pm, 1995-10-1 o 1/23/95

1

13/43/3425 o 1995-10-1a

0

$1000, $100 o $100 a

0

Ejemplos

A. Utilizar ISDATE para comprobar una variable

En este ejemplo se comprueba si la variable local @datestring contiene datos de una fecha válida.

DECLARE @datestring varchar(8)
SET @datestring = '12/21/98'
SELECT ISDATE(@datestring)

Éste es el conjunto de resultados.

----------- 
1           

B. Utilizar ISDATE para comprobar las fechas de una columna

El ejemplo siguiente crea la tabla test_dates e inserta dos valores. ISDATE se utiliza para determinar si los valores de las columnas son fechas.

USE tempdb
CREATE TABLE test_dates (Col_1 varchar(15), Col_2 datetime)
GO
INSERT INTO test_dates VALUES ('abc', 'July 13, 1998')
GO
SELECT ISDATE(Col_1) AS Col_1, ISDATE(Col_2) AS Col_2 
   FROM test_dates

Éste es el conjunto de resultados.

Col_1                     Col_2               
-----------------         --------------------
0                         1                   

Vea también

Referencia

SET DATEFORMAT (Transact-SQL)
SET LANGUAGE (Transact-SQL)
char y varchar (Transact-SQL)
Funciones del sistema (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005