非常简单问题,但是解决不了,请高手解答

wensheng_zh2007 2009-03-24 11:28:20
我想对t_subprocessplan表中的processnumber的原有属性类型nvarchar改为smallint执行如下语句

ALTER TABLE t_subprocessplan MODIFY processnumber SMALLIT

执行这句话时,提示在processnumber附近有语法错误。processnumber这个属性名是没有问题。
...全文
123 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ks_reny 2009-03-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 wensheng_zh2007 的帖子:]
我想对t_subprocessplan表中的processnumber的原有属性类型nvarchar改为smallint执行如下语句

ALTER TABLE t_subprocessplan MODIFY processnumber SMALLIT

执行这句话时,提示在processnumber附近有语法错误。processnumber这个属性名是没有问题。
[/Quote]
你這個是Oracle的語法.sql中如下:

ALTER TABLE t_subprocessplan alter column processnumber SMALLIT
sdhdy 2009-03-24
  • 打赏
  • 举报
回复
ALTER TABLE t_subprocessplan alter column processnumber smallint 
sdhdy 2009-03-24
  • 打赏
  • 举报
回复


--建议将这列的数据先备份一下,然后再转换类型。
ALTER TABLE t_subprocessplan alter column processnumber SMALLIT
lg3605119 2009-03-24
  • 打赏
  • 举报
回复
ALTER TABLE t_subprocessplan alter column  processnumber SMALLIT 
  • 打赏
  • 举报
回复
ALTER TABLE t_subprocessplan alter column processnumber SMALLIT

但是从varchar改为smallint会造成表中的数据丢失啊等等
dawugui 2009-03-24
  • 打赏
  • 举报
回复
求一SQL语句修改类型为text的列到char(255)!

----------------------
--2005.
create table tb(a text)
insert into tb values ('aaaaaa')
go

alter table tb alter column a char(255)
go

select * from tb

drop table tb

/*
a
------------
aaaaaa
(1 行受影响)
*/

-----------------------
--2000
create table tb(a text)
insert into tb values ('aaaaaa')
go

--加个列B
alter table tb add b char(255)
go
--将B设置为A的值
update tb set b = cast(a as varchar)
go
--删除A
alter table tb drop column a
go
--更改列名B为A
EXEC sp_rename 'tb.[b]', 'a', 'COLUMN'
go

select * from tb

drop table tb

/*
a
---------------------
aaaaaa

(所影响的行数为 1 行)
*/

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧