Hi Dusan,

Thank you so much. It works!

Kandy

> Hi Kandy,
>
> this could be the query you are looking for. It should return record
> with the closest timestamp to your required time:
>
> (SELECT TIMEDIFF('20080815091907', timestamp_column) AS diff, t.* FROM
> table1 t
>  WHERE timestamp_column <= '20080815091907'
>  ORDER BY timestamp_column DESC LIMIT 1
> )
> UNION
> (SELECT TIMEDIFF(timestamp_column, '20080815091907') AS diff, t.* FROM
> table1 t
>  WHERE timestamp_column >= '20080815091907'
>  ORDER BY timestamp_column LIMIT 1
> )
> ORDER BY diff LIMIT 1
>
> HTH,
> Dusan
>
> Kandy Wong napsal(a):
>> Hi,
>>
>> I need to write a C++ program in a Linux environment to query with a
>> timestamp.
>> The user will only provide with an approximate time so I'd like to know
>> how can I write a program or a query to return the closest data.
>>
>> The followings are the timestamp in the MySQL database:
>> | 2008-08-05 03:56:09 | 1217933769 |
>> | 2008-08-05 03:56:19 | 1217933779 |
>> | 2008-08-05 03:56:29 | 1217933789 |
>> | 2008-08-05 03:59:39 | 1217933979 |
>> | 2008-08-05 03:59:49 | 1217933989 |
>> | 2008-08-05 03:59:59 | 1217933999 |
>> | 2008-08-05 04:02:39 | 1217934159 |
>> | 2008-08-05 04:02:49 | 1217934169 |
>> | 2008-08-05 04:02:59 | 1217934179 |
>>
>> For example, '2008-08-05 04:01:39' is the time provided by the user
>> which
>> does not exist in the database.  So, how can I return the closest data?
>> I
>> know I can make use of 'LIKE' but this will return more than one data.
>> What is the best method to get the closest one?
>> And what is the good connector (C++ to MySQL) to use?
>> Any suggestion?
>> Thank you.
>>
>> Kandy
>>

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to