2010-04-30 34 views
5

Estoy tratando de consulta de una tabla temporal y me siguen dando este mensaje:Msg 102, nivel 15, estado 1, línea 1 Sintaxis incorrecta cerca de ''

Msg 102, Level 15, State 1, Line 1 Incorrect syntax near ' '. 

Puede alguien decirme cuál es el problema ? ¿Es por conversión?

La consulta es

select compid,2, convert(datetime, '01/01/' + CONVERT(char(4),cal_yr) ,101) ,0,  Update_dt, th1, th2, th3_pc , Update_id, Update_dt,1 
from #tmp_CTF** 
+0

Intente eliminar el campo 'convert' y verifique si el error persiste .. – Blorgbeard

+1

¿Qué base de datos está utilizando? Algunas bases de datos usan '||' como el operador de concatenación de cadenas, no '+'. – Syntactic

+0

Sí, intenté poner GETDATE() en lugar de toda la conversión ... aún obteniendo el mismo error – sajad

Respuesta

2

Por orden del OP:

select compid,2, convert(datetime, '01/01/' + CONVERT(char(4),cal_yr) ,101) ,0, Update_dt, th1, th2, th3_pc , Update_id, Update_dt,1 
from #tmp_CTF** 

consigo este error:

Msg 102, Level 15, State 1, Line 2 
Incorrect syntax near '*'. 

al depurar algo como esto divide la larga cola para que Obtendrás un mejor número de fila:

select compid 
,2 
, convert(datetime 
, '01/01/' 
+ CONVERT(char(4) 
,cal_yr) 
,101) 
,0 
, Update_dt 
, th1 
, th2 
, th3_pc 
, Update_id 
, Update_dt 
,1 
from #tmp_CTF** 

esto ahora se traduce en:

Msg 102, Level 15, State 1, Line 16 
Incorrect syntax near '*'. 

que es probable que sólo desde el OP no poner todo el comando en la pregunta, o utilice [] apoyos para indicar el nombre de la tabla:

from [#tmp_CTF**] 

si ese es el nombre de la tabla.

+0

hice lo que me dijeron. el error está cerca, 0 (justo después, 101) .. ¿Hay algún problema con el uso de convertir? – sajad

+0

esto funciona bien para mí: 'select 0,2, convert (datetime, '01/01/'+ CONVERT (char (4), 2010), 101), 0, 11, 22, 33, 44, 55, 66 , 1', tuve que reemplazar los nombres de las columnas por valores porque no sé cómo se ve tu tabla. muestra toda tu consulta –

Cuestiones relacionadas