Date conversion when porting Sybase to DB2

To make Sybase DATE data compatible with DB2, you need to make these changes.

When data is migrated from Sybase to DB2, problems arise from the MONEY, IMAGE, FLOAT and DATE data types. The

format in which Sybase stores data is often different than DB2, which becomes a problem when manually porting from one to the other. For example, Sybase and DB2 DATE formats are entirely different. If a Sybase data column is loaded into DB2, it will give an error. Use the script below to overcome this problem.

Before doing BCP out from Sybase, create a view that will have the DATE datatype as supported in DB2. Then BCP out this view. While loading this into DB2, use the timestamp format but make sure it is done at the DB2 prompt (eg, db2 => select ...).

use tempdb
go
create view test_v as 
select <col1>,<col2> ,convert(char(10),<date_col>,102)+'.'+convert(char(8),<date_col>,108)+".000000" <date_col>
go

Now BCP out.

bcp tempdb..test_v out test_v.out -U<username> -S<servername> -P<pwd> -c -t"#" -r"n"

Then, drop the above view. Finally, bring TEST_V.OUT to the DB2 server.

db2=> load from test_v.out of del modified by timestampformat = "YYYY-MM-DD-HH:MM:SS:UUUUUU" insert/replace into test_db2;

For More Information

  • Feedback: E-mail the editor with your thoughts about this tip.
  • More tips: Hundreds of free DB2 tips and scripts.
  • Tip contest: Have a DB2 tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize -- submit your tip today!
  • Ask the Experts: Our SQL, database design, Oracle, SQL Server, DB2, metadata, and data warehousing gurus are waiting to answer your toughest questions.
  • Forums: Ask your technical DB2 questions--or help out your peers by answering them--in our active forums.
  • Best Web Links: DB2 tips, tutorials, and scripts from around the Web.

This was first published in October 2002

Dig deeper on DB2 UDB (universal databases)

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

SearchEnterpriseLinux

SearchDataCenter

Close