|
Archives of the TeradataForumMessage Posted: Fri, 28 Mar 2009 @ 02:01:13 GMT
I had a similar question in relation to dates. For example '2009-03-28x' didn't generate an invalid date error message. The general consensus was that there was an implicit format that excluded the trailing characters. However, '2009-03-28x1' did generate an invalid date message. Curiously the following also "work" select cast ('2/1' as integer); = 21 select cast ('2//1' as integer); = 21 select cast ('2//1' as integer) - 2; = 19 select type(cast ('2//1' as integer)); = integer select cast ('2//1//e7' as integer); = 210000000 select cast ('2:1' as integer); = 21 select cast ('2%1' as integer); = 21 select cast ('2,1' as integer); = 21 select cast ('2,,,1' as integer); = 21 select cast ('2,/:%1' as integer); = 21 but the following do not(they generate an invalid data message of some sort): select cast ('2x1' as integer); select cast ('2*1' as integer); My guess is that since '/', ':', ',' & '%' are valid characters that can be used in a format clause for numeric data (refer to the manual); it appears that the cast is removing them for the purposes of doing a conversion from character to integer. Whether this is appropriate or not is a whole 'nother question. Hope this helps Glenn Mc P.S. My Test environment was V2R6.0
| ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||