Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1890675
  • 博文数量: 389
  • 博客积分: 7877
  • 博客等级: 少将
  • 技术积分: 4521
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-10 14:02
文章分类

全部博文(389)

文章存档

2024年(1)

2022年(1)

2021年(1)

2020年(1)

2019年(1)

2018年(3)

2017年(6)

2016年(4)

2015年(8)

2014年(15)

2013年(31)

2012年(19)

2011年(47)

2010年(33)

2009年(105)

2008年(109)

2007年(4)

分类:

2009-09-01 23:23:10

AIX 5.3.8.1上的db2 DB是使用如下命令创建:
db2 "create db dbname on /home/dbname using codeset GBK territory CN"

对于db2 v8.1 fixpak18:

db2 "select substr(cast(current date as varchar(10)),1,4) from sysibm.SYSDUMMY1"
09/0

db2 "CREATE PROCEDURE TT.TEST(OUT RUNSTATUS VARCHAR(10)) LANGUAGE SQL BEGIN select substr(cast(current date as varchar(10)),1,4) into runstatus from sysibm.SYSDUMMY1;END"

db2 "call tt.test(?)"
09/0

db2 connect to DB_NAME
cd /home/db2inst1/sqllib/bnd
db2 bind @db2ubind.lst datetime ISO blocking all grant public

db2 "select substr(cast(current date as varchar(10)),1,4) from sysibm.SYSDUMMY1"
2009

db2 "CREATE PROCEDURE TT.TEST(OUT RUNSTATUS VARCHAR(10)) LANGUAGE SQL BEGIN select substr(cast(current date as varchar(10)),1,4) into runstatus from sysibm.SYSDUMMY1;END"

db2 "call tt.test(?)"
09/0


对于db2 v8.1 fixpak0:
db2 "select substr(cast(current date as varchar(10)),1,4) from sysibm.SYSDUMMY1"
09/0
db2 "CREATE PROCEDURE TT.TEST(OUT RUNSTATUS VARCHAR(10)) LANGUAGE SQL BEGIN select substr(cast(current date as varchar(10)),1,4) into runstatus from sysibm.SYSDUMMY1;END"

db2 "call tt.test(?)"
2009

不知道为什么会这样,不知道对这个db2 v8.1 fixpak0系统做了什么配置,不知道为什么date格式的存储和显示会是这样,不知道为什么直接使用sql和调用存储过程会有这样的区别?



Add @ 20100818:

同样的一条sql语句
select date(d_detected_date) from table_name;

在我的电脑上执行输出的结果和在我同事的windows7上执行的结果

不一样,原因在于客户端上的日期格式的问题,这个windows的机器在

区域选项,短日期那一栏有显示,windows7同样的地方是可以更改这个

日期显示方式的,

如果直接在服务器上执行这样的sql语句查询,其结果可能又不一样,

原理是一样的,跟服务器本身的locale设置是有关系的。

hostb159$locale
LC_TIME="en_US"

阅读(3521) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~