|
Archives of the TeradataForumMessage Posted: Mon, 25 Apr 2005 @ 20:55:06 GMT
Hi all, somebody made me aware of a new (would be interesting when it was implemented) syntax on in-clauses - which can drive you crazy in case of typos. My first expectation was that select (current_date - calendar_date) (format '99') (char(2)) as char_field from sys_calendar.calendar where char_field in ('01' '02','03') and (current_date - calendar_date) > 0 ; would cause an error - for the missing ',' between '01' and '02'. But GCC told the customer it is correct because it is ANSI compliant for an concatenation - at least one black between the '01' and '02' - no blanck would be evaluated as "01'02". Which means the in-Clause is evaluated as ('0102','03) and in this respect the result is correct. Is this type of concatenation limited to IN-Clauses? Because Select '01' '02' is resulting in '01' with the column name of '02'? And select (current_date - calendar_date) (format '99') (char(2)) 'XX' from sys_calendar.calendar where ((current_date - calendar_date) (format '99') (char(2))) in ('01' '02','03') and (current_date - calendar_date) > 0 ;in an error. Can somebody bring some light into this? It's a bit strange from my pointo of view... Ulrich --
| ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||