❶ sql中如何改变一列的数据类型
你可以使用 ALTER TABLE 加 ALTER COLUMN 来更改指定的列数据类型,如:
CREATE TABLE
myTest (fId int,fName nvarchar(20) null)
创建一个表,名为:myTest,包含两个字段。如果此时你想要更改 fName 列,那么可以使用以下语句:
ALTER TABLE myTest
ALTER COLUMN fName nvarchar(30) null
这里要注意,如果指定的新的数据类型长度比原来的数据类型小,那么会出现数据丢失的情况,所以千万要注意,另外,不是所有的数据类型都可以更改,以下是SQL联机丛书中提到的注意事项:
要更改的列不能是:
·数据类型为 text、image、ntext 或 timestamp 的列。
·表的 ROWGUIDCOL 列。
·计算列或用于计算列中的列。
·被复制列。
·用在索引中的列,除非该列数据类型是 varchar、nvarchar 或 varbinary,数据类型没有更改,而且新列大小等于或者大于旧列大小。
·用在由 CREATE STATISTICS 语句创建的统计中的列。首先用 DROP STATISTICS 语句删除统计。由查询优化器自动生成的统计会由 ALTER COLUMN 自动除去。
·用在 PRIMARY KEY 或 [FOREIGN KEY] REFERENCES 约束中的列。
用在 CHECK 或 UNIQUE 约束中的列,除非用在 CHECK 或 UNIQUE 约束中的可变长度列的长度允许更改。
·有相关联的默认值的列,除非在不更改数据类型的情况下允许更改列的长度、精度或小数位数。
❷ sqlserver 数据列数据类型设置问题
应为浮点数的精度比整数高 java不允许由小到高传递(强制转化要丢失部分数据) 所以由题看 在sql里我认为全换成float好点
❸ sqlserver 怎么更改表字段的数据类型
使用alter语法可以修改,但是需要注意,如果列中存在不可转换到目标类型的数据,alter会失败。
❹ sqlserver如何修改表某个字段的属性
工具/材料:以ManagementStudio为例。
1、首先,点击桌面上的“ManagementStudio”图标。
❺ SQL中怎样修改一个表的列名呢
1、在oracle数据库中: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名。
2、在sqlserver数据库中:exec sp_rename '[表名].[列名]‘,’[表名].[新列名]'。
3、在mysql数据库中:ALTER TABLE 表名 CHANGE 列名 新列名 列类型。
(5)更改列类型sqlserver扩展阅读:
SQL中对表的其它操作:
1、插入列:
ALTER TABLE [表名.]TABLE_NAME ADD COLUMN_NAME DATATYPE。
2、删除列:
ALTER TABLE [表名.]TABLE_NAME DROP COLUMN COLUMN_NAME。
3、修改数据表名:
ALTER TABLE [表名.]OLD_TABLE_NAME RENAME TO NEW_TABLE_NAME。
参考资料:网络-sql语句大全
❻ 如何用sql更改表的列的数据类型和添加新列和约束
如何用sql更改表的列的数据类型和添加新列和约束
--修改插入标题
--A.添加新列
ALTER
TABLE
表名
ADD
列名
VARCHAR(20)
--B.修改列名
EXEC
sp_rename
'dbo.表名.列名',
'新列名',
'COLUMN'
--知识点衍生
--1.删除列
ALTER
TABLE
表名
DROP
COLUMN
column_b
--2.更改列的数据类型
ALTER
TABLE
表名
ALTER
COLUMN
列
DECIMAL
(5,
2)
--3.添加包含约束的列(唯一约束)
ALTER
TABLE
表
ADD
列
VARCHAR(20)
NULL
CONSTRAINT
约束名
UNIQUE
--4.添加一个未验证的check约束
ALTER
TABLE
表
WITH
NOCHECK
ADD
CONSTRAINT
约束名
CHECK
(列
>
1)
--5.在现有列中添加一个DEFAULT约束
ALTER
TABLE
表
ADD
CONSTRAINT
约束名
DEFAULT
50
FOR
列名
--6.删除约束
ALTER
TABLE
表
DROP
CONSTRAINT
约束名
--7.更改排序规则
ALTER
TABLE
表
ALTER
COLUMN
列
varchar(50)
COLLATE
Latin1_General_BIN
--8.修改表名
EXEC
sp_rename
'dbo.表名',
'新表名'
--9.重命名索引
EXEC
sp_rename
N'dbo.表名.索引名',
N'新索引名',
N'INDEX'