批量修改數(shù)據(jù)類型
數(shù)據(jù)庫(kù)類型
SQL Server
實(shí)現(xiàn)方式
查詢待修改的字段
select sys.objects.name as tableName,syscolumns.name as columnsName
from syscolumns
LEFT OUTER JOIN sys.objects ON
syscolumns.id = sys.objects.object_id
where syscolumns.xtype = '62'
syscolumns.xtype 為字段類型,62為float,如果需要過(guò)濾掉特定的表或字段可在sql 后自行添加條件語(yǔ)句。
整理語(yǔ)句
將查詢到的數(shù)據(jù)轉(zhuǎn)換到可執(zhí)行的sql,可編寫存儲(chǔ)過(guò)程、或者使用代碼循環(huán)處理,也可直接使用 Excel,整理成自己想要的數(shù)據(jù),再拷貝執(zhí)行

Excel整理

執(zhí)行SQL
附錄1 sysobjects 數(shù)據(jù)字典
列名 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
name | sysname | 對(duì)象名。 |
Id | int | 對(duì)象標(biāo)識(shí)號(hào)。 |
xtype | char(2) | 對(duì)象類型。可以是下列對(duì)象類型中的一種: |
C = CHECK 約束 | ||
D = 默認(rèn)值或 DEFAULT 約束 | ||
F = FOREIGN KEY 約束 | ||
L = 日志 | ||
FN = 標(biāo)量函數(shù) | ||
IF = 內(nèi)嵌表函數(shù) | ||
P = 存儲(chǔ)過(guò)程 | ||
PK = PRIMARY KEY 約束(類型是 K) | ||
RF = 復(fù)制篩選存儲(chǔ)過(guò)程 | ||
S = 系統(tǒng)表 | ||
TF = 表函數(shù) | ||
TR = 觸發(fā)器 | ||
U = 用戶表 | ||
UQ = UNIQUE 約束(類型是 K) | ||
V = 視圖 | ||
X = 擴(kuò)展存儲(chǔ)過(guò)程 | ||
uid | smallint | 所有者對(duì)象的用戶 ID。 |
info | smallint | 保留。僅限內(nèi)部使用。 |
status | int | 保留。僅限內(nèi)部使用。 |
base_schema_ver | int | 保留。僅限內(nèi)部使用。 |
replinfo | int | 保留。供復(fù)制使用。 |
parent_obj | int | 父對(duì)象的對(duì)象標(biāo)識(shí)號(hào)(例如,對(duì)于觸發(fā)器或約束,該標(biāo)識(shí)號(hào)為表 ID)。 |
crdate | datetime | 對(duì)象的創(chuàng)建日期。 |
ftcatid | smallint | 為全文索引注冊(cè)的所有用戶表的全文目錄標(biāo)識(shí)符,對(duì)于沒有注冊(cè)的所有用戶表則為 0。 |
schema_ver | int | 版本號(hào),該版本號(hào)在每次表的架構(gòu)更改時(shí)都增加。 |
stats_schema_ver | int | 保留。僅限內(nèi)部使用。 |
type | char(2) | 對(duì)象類型。可以是下列值之一: |
C = CHECK 約束 | ||
D = 默認(rèn)值或 DEFAULT 約束 | ||
F = FOREIGN KEY 約束 | ||
FN = 標(biāo)量函數(shù) | ||
IF = 內(nèi)嵌表函數(shù) | ||
K = PRIMARY KEY 或 UNIQUE 約束 | ||
L = 日志 | ||
P = 存儲(chǔ)過(guò)程 | ||
R = 規(guī)則 | ||
RF = 復(fù)制篩選存儲(chǔ)過(guò)程 | ||
S = 系統(tǒng)表 | ||
TF = 表函數(shù) | ||
TR = 觸發(fā)器 | ||
U = 用戶表 | ||
V = 視圖 | ||
X = 擴(kuò)展存儲(chǔ)過(guò)程 | ||
userstat | smallint | 保留。 |
sysstat | smallint | 內(nèi)部狀態(tài)信息。 |
indexdel | smallint | 保留。 |
refdate | datetime | 留作以后使用。 |
version | int | 留作以后使用。 |
deltrig | int | 保留。 |
instrig | int | 保留。 |
updtrig | int | 保留。 |
seltrig | int | 保留。 |
category | int | 用于發(fā)布、約束和標(biāo)識(shí)。 |
cache | smallint | 保留。 |
附錄2 Syscolumns 數(shù)據(jù)字典
列名 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
name | sysname | 列名或過(guò)程參數(shù)的名稱。 |
id | int | 該列所屬的表對(duì)象 ID,或與該參數(shù)關(guān)聯(lián)的存儲(chǔ)過(guò)程 ID。 |
xtype | tinyint | systypes 中的物理存儲(chǔ)類型。 |
typestat | tinyint | 僅限內(nèi)部使用。 |
xusertype | smallint | 擴(kuò)展的用戶定義數(shù)據(jù)類型 ID。 |
length | smallint | systypes 中的最大物理存儲(chǔ)長(zhǎng)度。 |
xprec | tinyint | 僅限內(nèi)部使用。 |
xscale | tinyint | 僅限內(nèi)部使用。 |
colid | smallint | 列或參數(shù) ID。 |
xoffset | smallint | 僅限內(nèi)部使用。 |
bitpos | tinyint | 僅限內(nèi)部使用。 |
reserved | tinyint | 僅限內(nèi)部使用。 |
colstat | smallint | 僅限內(nèi)部使用。 |
cdefault | int | 該列的默認(rèn)值 ID。 |
domain | int | 該列的規(guī)則或 CHECK 約束 ID。 |
number | smallint | 過(guò)程分組時(shí)(0 表示非過(guò)程項(xiàng))的子過(guò)程號(hào)。 |
colorder | smallint | 僅限內(nèi)部使用。 |
autoval | varbinary(255) | 僅限內(nèi)部使用。 |
offset | smallint | 該列所在行的偏移量;如果為負(fù),表示可變長(zhǎng)度行。 |
status | tinyint | 用于描述列或參數(shù)屬性的位圖: |
0x08 = 列允許空值。 | ||
0x10 = 當(dāng)添加 varchar 或 varbinary 列時(shí),ANSI 填充生效。保留 varchar 列的尾隨空格,保留 varbinary 列的尾隨零。 | ||
0x40 = 參數(shù)為 OUTPUT 參數(shù)。 | ||
0x80 = 列為標(biāo)識(shí)列。 | ||
type | tinyint | systypes 中的物理存儲(chǔ)類型。 |
usertype | smallint | systypes 中的用戶定義數(shù)據(jù)類型 ID。 |
printfmt | varchar(255) | 僅限內(nèi)部使用。 |
prec | smallint | 該列的精度級(jí)別。 |
scale | int | 該列的小數(shù)位數(shù)。 |
iscomputed | int | 表示是否已計(jì)算該列的標(biāo)志: |
0 = 未計(jì)算。 | ||
1 = 已計(jì)算。 | ||
isoutparam | int | 表示該過(guò)程參數(shù)是否是輸出參數(shù): |
1 = 真。 | ||
0 = 假。 | ||
isnullable | int | 表示該列是否允許空值: |
1 = 真。 | ||
0 = 假。 |
附錄3 syscolumns.xtype 類型
鍵值 | 鍵值 | 鍵值 | 鍵值 | 231 nvarchar |
---|---|---|---|---|
34 image | 58 smalldatetime | 99 ntext | 165 varbinary | 231 nvarchar |
35 text | 59 real | 104 bit | 167 varchar | 239 nchar |
36 uniqueidentifier | 60 money | 106 decimal | 173 binary | |
48 tinyint | 61 datetime | 108 numeric | 175 char | |
52 smallint | 62 float | 122 smallmoney | 189 timestamp | |
56 int | 98 sql_variant | 127 bigint | 231 sysname |