Ⅰ sql 修改欄位類型
alter
table
表名
alter
column
欄位名
欄位類型
比如修改
t1表的a欄位為文本類型
alter
table
t1
alter
column
a
text(50)
注意在更改類型的時候,更改前的類型和更改後的類型一定要能顯示轉換,否則會造成數據丟失。
Ⅱ SQL如何用語句更改欄位的數據類型
修改類型,使用sql語句:
alter table 表名 alter column 欄位名稱 varchar not null
示例:
新建表如下圖所示:
Ⅲ 用sql語句將某一個欄位改成特定格式
這個要用到資料庫函數,不同的資料庫函數有差異,根據不同資料庫查找相應的函數。
以MS SQL Server為例
1、把20170811拼成標准時間格式2017-08-11,用到:left、right兩個函數。
left('20170811',4)+'-'+right(left('20170811',6),2)+'-'+right('20170811',2)
2、再把2017-08-11轉成日期格式datetime,用到:cast函數
cast(left('20170811',4)+'-'+right(left('20170811',6),2)+'-'+right('20170811',2)asdatetime)
Ⅳ mysql資料庫中sql修改欄位類型要怎麼做
方法如下:
//修改一個欄位的類型
alter table user MODIFY new1 VARCHAR(10);
//修改一個欄位的名稱,此時一定要重新指定該欄位的類型
alter table user CHANGE new1 new4 int。
Ⅳ SQL語句如何更改表中的欄位類型
SQL如何用語句更改欄位可以用以下語句可以實現:
altertable表名altercolumn欄位名變更後的欄位類型。
注意:
但若是關鍵欄位,帶有主鍵,並且欄位類型為用戶自定義類型,具有默認值的情況下,用上述語句會出現錯誤。
例如:
現假設表為TABLE1,關鍵欄位為FIELD1,主鍵為PK_FIELD1,關鍵欄位的數據類型為用戶自定義數據類型cha_field1,實際為CHAR(10),默認值為dbo.D_field1現要求將欄位類型改為varchar(20),默認值去除錯誤提示如下:
伺服器:消息5074,級別16,狀態1,行1
對象'D_field1'依賴於列'field1'。
伺服器:消息5074,級別16,狀態1,行1
對象'PK_field1'依賴於列'field1'。
伺服器:消息4922,級別16,狀態1,行1
ALTERTABLEALTERCOLUMNfield1失敗,因為有一個或多個對象訪問此列。
Ⅵ SQL語句如何修改主鍵欄位的欄位類型類型
首先,修改主鍵欄位的欄位類型,肯定是要先刪除主鍵才能操作的
--【1.查找主鍵】
--SQLSERVER
select name as pkName from dbo.sysobjects where xtype='PK' and parent_obj=(select id from dbo.sysobjects where name='表名')
--ORACLE
SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME = UPPER('表名') AND CONSTRAINT_TYPE ='P'
--【2.刪除主鍵約束】
ALTER TABLE 表名 DROP CONSTRAINT 約束名
--ORACLE
--刪除主鍵連同索引
ALTER TABLE 表名 DROP CONSTRAINT 約束名 CASCADE DROP INDEX;
或者
ALTER TABLE 表名 DROP PRIMARY KEY CASCADE DROP INDEX;--【3.修改欄位】
--【先把這一列的值備份到臨時列里,再把這一列update成null,再修改類型,再把數據拷貝回來】
--SQLSERVER
--默認值單獨處理,關聯約束
--默認值的變更涉及到約束,如有約束,需要先查詢出越是再進行刪除
ALTER TABLE 表名 DROP CONSTRAINT 約束名
ALTER TABLE 表名 ALTER COLUMN 欄位名 欄位類型(長度精度) 是否為空
ALTER TABLE 表名 ADD CONSTRAINT 約束名 DEFAULT 默認值 FOR 欄位名
--ORACLE
--刪除默認值:default null
ALTER TABLE 表名 MODIFY COLUMN 欄位名 VARCHAR2(20) DEFAULT ' ' NOT NULL--【4.新增主鍵】
--指定主鍵名字
ALTER TABLE 表名 ADD CONSTRAINT 主鍵名 PRIMARY KEY (F1,F2);
--未指定主鍵名字
ALTER TABLE 表名 ADD PRIMARY KEY (F1,F2)
Ⅶ mysql資料庫中sql修改欄位類型要怎麼做
方法如下:
//修改一個欄位的類型
alter table user MODIFY new1 VARCHAR(10);
//修改一個欄位的名稱,此時一定要重新指定該欄位的類型
alter table user CHANGE new1 new4 int。
Ⅷ mysql資料庫中sql修改欄位類型要怎麼做
mysql資料庫中sql修改欄位類型可以按照以下方式:
語法規則:alter table 表名 modify 欄位名 新類型
例如,有張表student,有id欄位是int型的,改為varchar類型
alter table student modify id varchar(20);
執行該sql語句即可。
注意:如將varchar類型轉成int類型,原欄位必須是數字,
而且int的最大值是4294967295,原欄位的值需要小於等於int的最大值才可以。
Ⅸ sql批量修改欄位數據格式
update table set A= REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(A,'°',''),'″',''),' ',''),'′',''),',','')
update table set A REPLACE(A,SUBSTRING(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(A,'°',''),'″',''),' ',''),'′',''),',',''),
CHARINDEX('±',REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(A,'°',''),'″',''),' ',''),'′',''),',',''))+1,2),'1')
where SUBSTRING(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(A,'°',''),'″',''),' ',''),'′',''),',',''),
CHARINDEX('±',REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(A,'°',''),'″',''),' ',''),'′',''),',',''))+1,2)='01'
and CHARINDEX('±',REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(A,'°',''),'″',''),' ',''),'′',''),',',''))+2<=LEN(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(A,'°',''),'″',''),' ',''),'′',''),',',''))
操作之前先測試,我把你上面所有的那個符號全部替換成了空,第一步全部替換,第二步把±後是01的替換成1
Ⅹ 將SQL查詢出的日期更改格式
1、創建測試表,含datetime類型的欄位;
create table test_datetime(id int,dt datetime(2));