on 02-21-2012 3:31 PM
Tengo el siguiente codigo en el cual me muestra la informacion de los vencimientos de mis vehiculos. Lo que deseo es que me muestre el listado quitando los que sus vencimientos sean igual a la fecha del dia o esten a 15 dias antes.
La condicion de los 15 dias lo consegui con la siguiente instruccion:
DECLARE @FECHAACTUAL DATETIME;
SET @FECHAACTUAL = CONVERT (VARCHAR, GETDATE()-15, 120)
si lo pruebo solo me sale bien me devuelve la fecha que requiero, pero cuando lo corro en mi querie me bota el siguiente error
Msg 241, Level 16, State 1, Line 3
Conversion failed when converting date and/or time from character string.
Alguna sugerencia?? en la ultima parte de mi codigo estaria colocando las condicionales para las fechas
{CODE DECLARE @FECHAACTUAL DATETIME;
SET @FECHAACTUAL = CONVERT (VARCHAR, GETDATE()-15, 120)
SELECT
T0.[U_TCTIPO] AS 'TIPO',
T0.[U_TCPLACANTIG] AS 'PLACA ANTIGUA',
T0.[U_TCPLACNUEV] AS 'PLACA NUEVA',
T0.[U_TCPROPIED] AS 'PROPIEDAD',
T0.[U_TCSOAT] AS 'SOAT',
T0.[U_TCHABVEHNAC] AS 'CERTIF. HABILITACION VEH NACIONAL',
T0.[U_TCFECVENC] AS 'FECHA VENC CERTF HABIL VEH NACIONAL',
T0.[U_TCCOMANDI] AS 'CERTIF HABIL VEH COMUN ANDINA INTERNACIONAL',
T0.[U_TCFVENCOMAND] AS 'FECHA VENC CERTIF HABIL VEH COMUN ANDINA INTERNACIONAL',
T0.[U_TCCEROPEMUNLIMA] AS 'CERTIF OPERACION MUNIC DE LIMA-LOCAL',
T0.[U_TCFECVENCCERTOPE] AS 'FECHA CERTIFICADO DE OPERACION MUNIC DE LIMA-LOCAL',
T0.[U_TCCERTFINSTEC] AS 'CERTIF INSPECCION TECNICA VEHICULAR',
T0.[U_TCFVCERTFINTECVE] AS 'CERTIF INSPECCION TECNICA VEHICULAR',
T0.[U_TCNROLEASING] AS 'NUMERO LEASING',
T0.[U_TCVENCLEASING] AS 'VENCIMIENTO LEASING',
T0.[U_TCPOLSEGRIMAC] AS 'NUM POLIZA SEGURO RIMAC',
T0.[U_TCVENCPOLSEGRIMAC] AS 'FECHA VENC NUM POLIZA SEGURO RIMAC',
T0.[U_TCCTAPLACA] AS 'CUENTAN CON PLACA',
T0.[U_TCTARJACTARCH] AS 'TARJ ACT EN ARCHIVO',
T0.[U_TCPLACSUNARP] AS 'INFO PLACA SUNARP',
T0.[U_TCOBSERV] AS 'OBSERVACIONES'
WHERE
@FECHAACTUAL >= CONVERT(DATETIME, T0.[U_TCSOAT], 105) OR
@FECHAACTUAL >= CONVERT(DATETIME, T0.[U_TCFECVENC], 105) OR
@FECHAACTUAL >= CONVERT(DATETIME, T0.[U_TCFVENCOMAND], 105) OR
@FECHAACTUAL >= CONVERT(DATETIME, T0.[U_TCFECVENCCERTOPE], 105) OR
@FECHAACTUAL >= CONVERT(DATETIME, T0.[U_TCFVCERTFINTECVE], 105) OR
@FECHAACTUAL >= CONVERT(DATETIME, T0.[U_TCVENCLEASING], 105) OR
@FECHAACTUAL >= CONVERT(DATETIME, T0.[U_TCVENCPOLSEGRIMAC], 105) CODE}
Edited by: Luis Alberto Rojas Ayllón on Mar 7, 2012 6:01 PM
Edited by: Luis Alberto Rojas Ayllón on Mar 7, 2012 6:06 PM
Edited by: Luis Alberto Rojas Ayllón on Mar 7, 2012 6:07 PM
Y si ya estas haciendo el convert, porque no dejas tu variable como nvarchar ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
te refieres a esta instruccion??
SET @FECHAACTUAL = CONVERT (VARCHAR, GETDATE()-15, 120)
Lo que haria aca es capturo la fecha del sistema quito 15 dias y lo guardo en un varchar o ya no seria necesario colocarle el varchar y solo con el convert
y en la parte de abajo tendria q variar algo? al parecer no hago la comparacion para que no bote error
Ya logre evitar ese error, en la fecha del dia, era cuestion del formato de lectura que le estaba dando. Esa parte ya me lee bien, pero cuando lo ejecuto si bien me sale el resultado me esta mostrando todos y para un ejemplo modifique la fecha de uno y le puse la de hoy dia para que no me lo muestre pero igual me lo visualiza.
La ultima parte de mi querie no me esta mostrando, alguna ayuda
DECLARE @FECHAACTUAL VARCHAR(10);
SET @FECHAACTUAL = CONVERT(VARCHAR(10), GETDATE()-15, 104)
SELECT
T0.[U_TCTIPO] AS 'TIPO',
T0.[U_TCPLACANTIG] AS 'PLACA ANTIGUA',
T0.[U_TCPLACNUEV] AS 'PLACA NUEVA',
T0.[U_TCPROPIED] AS 'PROPIEDAD',
T0.[U_TCSOAT] AS 'SOAT',
T0.[U_TCHABVEHNAC] AS 'CERTIF. HABILITACION VEH NACIONAL',
T0.[U_TCFECVENC] AS 'FECHA VENC CERTF HABIL VEH NACIONAL',
T0.[U_TCCOMANDI] AS 'CERTIF HABIL VEH COMUN ANDINA INTERNACIONAL',
T0.[U_TCFVENCOMAND] AS 'FECHA VENC CERTIF HABIL VEH COMUN ANDINA INTERNACIONAL',
T0.[U_TCCEROPEMUNLIMA] AS 'CERTIF OPERACION MUNIC DE LIMA-LOCAL',
T0.[U_TCFECVENCCERTOPE] AS 'FECHA CERTIFICADO DE OPERACION MUNIC DE LIMA-LOCAL',
T0.[U_TCCERTFINSTEC] AS 'CERTIF INSPECCION TECNICA VEHICULAR',
T0.[U_TCFVCERTFINTECVE] AS 'CERTIF INSPECCION TECNICA VEHICULAR',
T0.[U_TCNROLEASING] AS 'NUMERO LEASING',
T0.[U_TCVENCLEASING] AS 'VENCIMIENTO LEASING',
T0.[U_TCPOLSEGRIMAC] AS 'NUM POLIZA SEGURO RIMAC',
T0.[U_TCVENCPOLSEGRIMAC] AS 'FECHA VENC NUM POLIZA SEGURO RIMAC',
T0.[U_TCCTAPLACA] AS 'CUENTAN CON PLACA',
T0.[U_TCTARJACTARCH] AS 'TARJ ACT EN ARCHIVO',
T0.[U_TCPLACSUNARP] AS 'INFO PLACA SUNARP',
T0.[U_TCOBSERV] AS 'OBSERVACIONES'
WHERE
@FECHAACTUAL >= CONVERT(VARCHAR, T0.[U_TCSOAT], 103) OR
@FECHAACTUAL >= CONVERT(VARCHAR, T0.[U_TCFECVENC], 103) OR
@FECHAACTUAL >= CONVERT(VARCHAR, T0.[U_TCFVENCOMAND], 103) OR
@FECHAACTUAL >= CONVERT(VARCHAR, T0.[U_TCFECVENCCERTOPE], 103) OR
@FECHAACTUAL >= CONVERT(VARCHAR, T0.[U_TCFVCERTFINTECVE], 103) OR
@FECHAACTUAL >= CONVERT(VARCHAR, T0.[U_TCVENCLEASING], 103) OR
@FECHAACTUAL >= CONVERT(VARCHAR, T0.[U_TCVENCPOLSEGRIMAC], 103)
Edited by: Luis Alberto Rojas Ayllón on Mar 8, 2012 7:17 PM
Edited by: Luis Alberto Rojas Ayllón on Mar 8, 2012 7:21 PM
esta bien ese formato lo que pasa que en mi tabla en la columna de fecha lo colocan de la siguiente manera DD.MM.YYYY con puntos
es por eso que el getdate lo capturo de esa manera
Si yo corro
SELECT CONVERT(VARCHAR, T0.[U_TCSOAT], 103)
me muestra en el formato DD.MM.YYYY
Edited by: Luis Alberto Rojas Ayllón on Mar 8, 2012 8:26 PM
Edited by: Luis Alberto Rojas Ayllón on Mar 8, 2012 8:27 PM
User | Count |
---|---|
96 | |
10 | |
9 | |
6 | |
3 | |
3 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.