cancel
Showing results for 
Search instead for 
Did you mean: 

Where is this insanity documented?

Breck_Carter
Participant
1,776

OK, it's a feature, not a bug, but successfully converting between a TIMESTAMP and an INTEGER is [cough] unexpected, especially when the TIMESTAMP becomes a DATE.

So... where can I read about this behavior, and what else I should watch out for?

BEGIN
DECLARE @x INTEGER;
DECLARE @y TIMESTAMP;
SET @x = CURRENT TIMESTAMP;
SET @y = @x;
SELECT @@VERSION, @x, @y, ISDATE ( @x );
END;

@@VERSION,@x,@y,ISDATE(@x)
'12.0.1.3298',20120727,'2012-07-27 00:00:00.000',1

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

This is covered in Ivan's whitepaper on mixed-type comparisons, which can be found on my blog.

Answers (1)

Answers (1)

johnsmirnios
Participant

This is the closest thing I can find readily: http://dcx.sybase.com/index.html#1201/en/dbreference/comparisons-date-wsqltype.html

"Exact numeric values of type SMALLINT, INTEGER, BIGINT, and NUMERIC can be converted to date values. The conversion is performed by treating the number as a string. For example, the integer value 20100401 represents the first day of April in 2010."