COALESCE is a simple function which takes one or more column names and a replacement (default) value which can be displayed in case of the missing data. For example, in an employee table you want to display all the data of the column emp_first_name and in case there is no data present you want to display a constant value; no_first_name. Then the following query would help you achieve what you want.
SELECT COALESCE (emp_first_name,’no_first_name’)
FROM employee
In case you want to display emp_last_name (another column in employee table) with the missing data for emp_first_name, then run the query
SELECT COALESCE (emp_first_name, emp_last_name)
FROM employee
But there is a chance that both of them could be empty and you want to display something in case both missing then go for the following query.
SELECT COALESCE (emp_first_name, emp_last_name,’no_name’)
FROM employee
Another better and effective way to implement ‘IF THEN ELSE’ condition on the Select statement is to use the CASE expression. Following query would display the current date and if the current date is equal to ’2007/06/26′ then it would display the string ‘HI’ in case if the current date is not equal to ’2007/06/26′ then it would display ‘HELLO’. Try this out…
SELECT (CASE date WHEN ’2007/06/26′ THEN ‘HI’ ELSE ‘HELLO’ END)
Our Random Articles
- Somdev Devvarman ousts Xavier Malisse 6-1, 3-6,7-6(5)
- How To Choose A Good Online Traffic School
- New Year Wishes 2010
- New Year Wishes
- How to use EXTRACT function with date and time columns
More Links




4 Comments
Material that you are providing is very easy to learn. But it is much better than this , if you ll give the full material of this at ONE LINK.
Thank you
Suresh.
That is right Suresh. This is the reason I have given all the links in one page, please visit this
http://readvitamin.com/teradata/
Hope this helps.
Hi. Can anyone tell me how to extract time from timestamp?
For Example
timestamp=’2008-03-28 14:11:04′
i want time ’14:11:04′ from timestamp through query.
Thanks in advance.
Hi Vaideesh,
If you need only time, you can probably try the following;
SELECT time;
To answer your question you should do something like this.
SELECT CAST(VaideeshTime as time(0)) from timestamp;
VaideeshTime
——–
14:11:04
Hope that helps.