elect a.name as [column],b.name as type
創(chuàng)新互聯(lián)公司10多年成都定制網(wǎng)頁設(shè)計(jì)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及高端網(wǎng)站定制服務(wù),成都定制網(wǎng)頁設(shè)計(jì)及推廣,對成都花箱等多個(gè)行業(yè)擁有豐富的網(wǎng)站維護(hù)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
from syscolumns a,systypes b
where a.id=object_id('表名') and a.xtype=b.xtype
把“表名”替換成你要查看字段類型的表名,比如你要查看sysobjects表的各字段類型那么就是
select a.name as [column],b.name as type
from syscolumns a,systypes b
where a.id=object_id('sysobjects') and a.xtype=b.xtype
另外可以通過存儲(chǔ)過程
exec sp_help 表名
MySQL? SHOW COLUMNS FROM 表名稱
舉個(gè)栗子:
SHOW COLUMNS FROM ldcode ;
結(jié)果輸出如圖
pg? SELECT * FROM INFORMATION_SCHEMA.COLUMNS T WHERE T.TABLE_CATALOG='用戶角色名' AND TABLE_NAME='表名稱'
舉個(gè)栗子:
SELECT table_schema,table_name,column_name,udt_name,character_maximum_length,data_type,ordinal_position
FROM information_schema.columns t
WHERE t.table_catalog='actuarial'
AND table_name ='ldcode'
order by ordinal_position ;
結(jié)果輸出如圖
使用mysql_fetch_field
以下是例子.
mysql_fetch_field() 可以用來從某個(gè)查詢結(jié)果中取得字段的信息。如果沒有指定字段偏移量,則下一個(gè)尚未被 mysql_fetch_field() 取得的字段被提取。
對象的屬性為:
name - 列名
table - 該列所在的表名
max_length - 該列最大長度
not_null - 1,如果該列不能為 NULL
primary_key - 1,如果該列是 primary key
unique_key - 1,如果該列是 unique key
multiple_key - 1,如果該列是 non-unique key
numeric - 1,如果該列是 numeric
blob - 1,如果該列是 BLOB
type - 該列的類型
unsigned - 1,如果該列是無符號數(shù)
zerofill - 1,如果該列是 zero-filled
=========
?php
mysql_connect('localhost:3306', $user, $password)
or die("Could not connect: " . mysql_error());
mysql_select_db("database");
$result = mysql_query("select * from table")
or die("Query failed: " . mysql_error());
/* get column metadata */
$i = 0;
while ($i mysql_num_fields($result)) {
echo "Information for column $i:br /\n";
$meta = mysql_fetch_field($result);
if (!$meta) {
echo "No information availablebr /\n";
}
echo "pre
blob: $meta-blob
max_length: $meta-max_length
multiple_key: $meta-multiple_key
name: $meta-name
not_null: $meta-not_null
numeric: $meta-numeric
primary_key: $meta-primary_key
table: $meta-table
type: $meta-type
unique_key: $meta-unique_key
unsigned: $meta-unsigned
zerofill: $meta-zerofill
/pre";
$i++;
}
mysql_free_result($result);
?
您如果想要判斷類型的話,可以進(jìn)行轉(zhuǎn)換 比如
select to_char(name) from table_name; ---這樣就把您想要的數(shù)據(jù)NAME列轉(zhuǎn)換為字符型;
select to_num(name) from table_name; ---這樣就把您想要的數(shù)據(jù)NAME列轉(zhuǎn)換為數(shù)字型;
您所說的自動(dòng)判斷 貌似沒有
MySQLConnection conn = null;
conn = new MySQLConnection(new MySQLConnectionString("IP", "庫", "用戶", "密碼").AsString);
MySQLDataAdapter rs = new MySQLDataAdapter("select uid from pw_memberinfo", conn);
DataTable T = new DataTable();
rs.Fill(T);
DataTableReader dtr = T.CreateDataReader();
while (dtr.Read())
{
Console.WriteLine(dtr[0] + "###" + dtr.GetValue(1));
//輸出的是第一列和第二列的值,這里是自動(dòng)轉(zhuǎn)化的不用寫tostring()
}
執(zhí)行 sql語句 “show columns from tbname”?tbname 是要獲取的表的表名
會(huì)得到 一個(gè)結(jié)果集 包含了字段名 ?數(shù)據(jù)類型 ?是否可以為空 ?是否主鍵 默認(rèn)值 是否自增 等信息 要改足夠使用了