
关于DB2数据库的问题:修改列中元素,比如有一列是时间的元素类似这样的格式'xxxx-xx-xx-xx',想把它改成xxx
展开全部
你这是改变数据库的列的类型,有sql语句可以实现,但是不是所有的情况都能改变的。
如下:
db2 => create table mytbl2 (c1 char(10))
DB20000I SQL 命令成功完成。
db2 => alter table mytbl2 alter column c1 set data type char(8)
DB20000I 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 条记录已选择。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询