Use of DB2 basic date and time, first article (1)

Source: Internet
Author: User
Tags db2 date

This article is intended for beginners who are new to DB2 databases and want to understand how to operate DB2 basic date and date usage. Most people who have used other databases will be pleasantly surprised to see how easy it is to operate on the date and time in the DB2 database.

Basic

To use SQL to obtain the current basic DB2 date, date, and time stamp, see the appropriate DB2 register:

 
 
  1. SELECT current date FROM sysibm.sysdummy1  
  2. SELECT current time FROM sysibm.sysdummy1  
  3. SELECT current timestamp FROM sysibm.sysdummy1 

The sysibm. sysdummy1 table is a special table in memory. It can be used to find the value of the DB2 register as shown above. You can also use the keyword VALUES to evaluate registers or expressions. For example, on the DB2 Command Line Processor, CLP), the following SQL statement reveals similar information:

 
 
  1. VALUES current date  
  2. VALUES current time  
  3. VALUES current timestamp 

In the remaining examples, I will only provide functions or expressions, instead of repeating SELECT... FROM sysibm. sysdummy1 or using the VALUES clause.

To adjust the current time or current time stamp to GMT/CUT, subtract the current time or time stamp from the current time zone register:

 
 
  1. current time - current timezone  
  2. current timestamp - current timezone 

Given a date, time, or time stamp, you can use an appropriate function to extract the year, month, day, hour, minute, second, And microsecond parts if applicable:

 
 
  1. YEAR (current timestamp)  
  2. MONTH (current timestamp)  
  3. DAY (current timestamp)  
  4. HOUR (current timestamp)  
  5. MINUTE (current timestamp)  
  6. SECOND (current timestamp)  
  7. MICROSECOND (current timestamp) 

It is also very easy to extract the DB2 basic date and time from the time stamp:

 
 
  1. DATE (current timestamp)  
  2. TIME (current timestamp) 

Because there are no better terms, you can also use English for date and time calculation:

 
 
  1. current date + 1 YEAR  
  2. current date + 3 YEARS + 2 MONTHS + 15 DAYS  
  3. current time + 5 HOURS - 3 MINUTES + 10 SECONDS  

To calculate the number of days between two dates, you can subtract the date, as shown below:

 
 
  1. days (current date) - days (date('1999-10-22')) 

The following example describes how to obtain the current time stamp for the microsecond part to return to zero:

 
 
  1. CURRENT TIMESTAMP - MICROSECOND (current timestamp) MICROSECONDS 

To connect a date or time value with other texts, convert the value to a string. To do this, you only need to use the CHAR () function:

 
 
  1. char(current date)  
  2. char(current time)  
  3. char(current date + 12 hours) 

To convert a string to a DB2 base date or time value, you can use:

 
 
  1. TIMESTAMP ('2002-10-20-12.00.00.000000')  
  2. TIMESTAMP ('2002-10-20 12:00:00')  
  3. DATE ('2002-10-20')  
  4. DATE ('10/20/2002')  
  5. TIME ('12:00:00')  
  6. TIME ('12.00.00') 

The TIMESTAMP (), DATE (), and TIME () functions support more formats. The above formats are just examples. I will use them as an exercise so that readers can discover other formats themselves.

Warning:

From DB2 UDB V8.1 SQL Cookbook, by Graeme Birchall (see http://ourworld.compuserve.com/homepages/Graeme_Birchall ).

What if you accidentally omit quotation marks in the date function? The conclusion is that the function will work, but the result will be incorrect:

 
 
  1. SELECT DATE(2001-09-22) FROM SYSIBM.SYSDUMMY1; 

Result:

 
 
  1. 05/24/0006 

Why is the gap close to 2000? When the DATE function obtains a string as the input parameter, it assumes that this is a valid representation of the DB2 base DATE and converts it appropriately. On the contrary, when the input parameter is of the numeric type, the function assumes that the value of this parameter is reduced by 1 to the number of days from 0001-01-01 on the first day of the ad. In the above example, our input is, which is interpreted as (2001-9)-22, equal to 1970 days. Therefore, this function is interpreted as DATE (1970 ).


Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.