[sybase] How to convert a string to a date in sybase

I need to specify a date value in a sybase where clause. For example:

select * 
from data
where dateVal < [THE DATE]

This question is related to sybase type-conversion

The answer is


Use the convert function, for example:

select * from data 
where dateVal < convert(datetime, '01/01/2008', 103)

Where the convert style (103) determines the date format to use.


Several ways to accomplish that but be aware that your DB date_format option & date_order option settings could affect the incoming format:

Select 
   cast('2008-09-16' as date)
   convert(date,'16/09/2008',103)
   date('2008-09-16')
from dummy;

102 is the rule of thumb, convert (varchar, creat_tms, 102) > '2011'


Here's a good reference on the different formatting you can use with regard to the date:

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc38151.1510/html/iqrefbb/Convert.htm