2016-08-13 5 views
0

キャストではない働いて、構文エラー

SELECT t6.USERNAME Nombre, t2.RESOURCENAME Recurso, RESERVATION_DESCRIPTION Descripción, 
DATE_FORMAT(RESERVATIONDUEDATE, '%M %D %Y de %l:%i %p') + ' a ' + 
DATE_FORMAT(RESERVATIONEXPIREDATE, '%;:%i %p') Fecha 

FROM `reservation` t1 
INNER JOIN `resource` t2 ON t1.RESOURCEID = t2.RESOURCEID 
INNER JOIN schedule_intermediate t3 ON t1.SCHEDULEID_GENERATED = t3.SCHEDULEID_GENERATED 
INNER JOIN class t4 ON t1.CLASSID = t4.CLASSID 
INNER JOIN grade t5 ON t1.GRADEID = t5.GRADEID 
INNER JOIN users t6 ON t1.USERID = t6.USERID 
WHERE (YEARWEEK(`RESERVATIONDUEDATE`, 1) = YEARWEEK(CURDATE(), 1)) AND (t2.RESOURCELOCATIONID = 3 OR t2.RESOURCELOCATIONID = 4), 
CAST(Fecha as char) 

キャストがしかし、働いていないが、それは構文エラーがありますと言います。 Fechaという名前のフィールドを文字列にキャストするにはどうすればよいですか?

答えて

1

WHERE句ではCAST(Fecha as char)が何をしているのかは完全にはわかりません。あなたも、同様SELECT中での発現を変更する必要があり、

WHERE (YEARWEEK(`RESERVATIONDUEDATE`, 1) = YEARWEEK(CURDATE(), 1)) AND 
     (t2.RESOURCELOCATIONID IN (3, 4) 

をしかし:おそらく、あなたはそれを削除することができます。 +は文字列連結ではなく、文字列連結ではありません。

SELECT t6.USERNAME Nombre, t2.RESOURCENAME Recurso, RESERVATION_DESCRIPTION Descripción, 
     CONCAT(DATE_FORMAT(RESERVATIONDUEDATE, '%M %D %Y de %l:%i %p'), ' a ', 
       DATE_FORMAT(RESERVATIONEXPIREDATE, '%;:%i %p') 
      ) as Fecha 
+0

最後にmysqlを使用してからしばらくお待ちください。ありがとう、これは働いた。彼らのスキルからほこりを取り除こうとしています。 – codeninja

関連する問題