不会吧,好像是无数据的s___elect语句决定的,比如下面的语句,最后一条语句没有数据,但他好像决定每列的数据类型?S__E---LECT '单位' AS xmdlname, cast(traderid as varchar) AS xmindexid, code AS xmid,name AS xmname,'' as other1 FROM l_trader union
S__E---LECT '部门' AS xmdlname, cast(departmentid as varchar) AS xmindexid, code AS xmid,name AS xmname,'' as other1 FROM l_department union
S__E---LECT '职员' AS xmdlname, cast(l_employ.empid as varchar) AS xmindexid, l_employ.code AS xmid, l_employ.name AS xmname, l_department.name AS other1 FROM l_employ INNER JOIN l_department ON l_employ.departmentid = l_department.departmentid union
S___E---LECT '项目' AS xmdlname, cast(projectid as varchar) AS xmindexid , cast(projectid as varchar) AS xmid,name AS xmname,'项目' as other1 FROM al_project union
S___E---LECT '货品' AS xmdlname, 'g_' + ltrim(str(goodsid)) AS xmindexid,cast(code as varchar) AS xmid,name AS xmname,'贷品' as other1 FROM l_goods