关于DB2数据库的问题:修改列中元素,比如有一列是时间的元素类似这样的格式'xxxx-xx-xx-xx',想把它改成xxx

想把他改成xxxx-xx,利用DB2语法如何去改,帮帮忙了,... 想把他改成xxxx-xx,利用DB2语法如何去改,帮帮忙了, 展开
 我来答
liubird
2012-05-04 · TA获得超过1932个赞
知道小有建树答主
回答量:898
采纳率:100%
帮助的人:956万
展开全部
你这是改变数据库的列的类型,有sql语句可以实现,但是不是所有的情况都能改变的。

如下:
db2 => create table mytbl2 (c1 char(10))
DB20000I SQL 命令成功完成。
db2 => alter table mytbl2 alter column c1 set data type char(8)
DB20000I SQL 命令成功完成。

当然,你如果只是想显示的时候不一样,只需要在查询的时候吧类型转换一下就行了。
更多追问追答
追问
现在是这样的,在表里有一列是专门记录时间的,时间的格式是比如2012-05-04 09:30,现在呢,我要想把这列的所有改成2012-05,把这一列的格式都改成xxxx-xx;这用DB2里的语法怎么实现,有方法吗,
追答
这是无法实现的。 
如果你的列是timestamp类型,是没有办法改变它的格式为xxxx-xx的。 但是你是可以改成2012-05-04的,就是Date类型。
alter table mytbl alter column col1 set data type date

一个替代的方法是,你查询的时候将timestamp列的格式转换一下就行了。

db2 => select substr(c1, 1, 7) from mytbl1
1
-------
2012-05

1 条记录已选择。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式