1、首先建立转换,如图
获取系统信息中的变量如图
表输入中,连接的是postgresql,元数据如图
双击表输入得到test表,利用where语句中的?代替变量
注意,?代表转换中的命令参数1,默认的是character类型,而数据库中id是integer类型,所以要对?进行强制转换成numerica,注意要勾选替换sql语句里的变量,选择获取系统信息,其中命令参数1就是?,指的是(稍后在点击运行时出现)。文本文件输出选择指定地点即可。然后点击运行,如图
2、此时点击运行会报错,
主要是因为数据库中的text类型和character varing无法输出到txt中,将数据库中的text类型和character varing改成char类型即可,另外如果往数据库中输出,text类型和character varing是不会报错的。(text类型确实是不能输出到TXT中,但是能输出到csv文件中)
3、由于?是char类型,所以当数据库中id如果是char类型,则不用强转,可以直接比较。
SQL 2005及以上版本,执行如下,可获取字段及相关属性值
SELECT aname 字段名 ,
COLUMNPROPERTY(aid, aname, 'IsIdentity') 标识 ,
( CASE WHEN ( SELECT COUNT()
FROM sysobjects
WHERE ( name IN (
SELECT name
FROM sysindexes
WHERE ( id = aid )
AND ( indid IN (
SELECT indid
FROM sysindexkeys
WHERE ( id = aid )
AND ( colid IN (
SELECT
colid
FROM
syscolumns
WHERE
( id = aid )
AND ( name = aname ) ) ) ) ) ) )
AND ( xtype = 'PK' )
) > 0 THEN '1'
ELSE '0'
END ) 主键 ,
bname 类型 ,
COLUMNPROPERTY(aid, aname, 'PRECISION') AS 长度 ,
ISNULL(COLUMNPROPERTY(aid, aname, 'Scale'), 0) AS 小数位数 ,
( CASE WHEN aisnullable = 1 THEN '1'
ELSE '0'
END ) 允许空 ,
ISNULL(g[value], '') AS 字段说明
FROM syscolumns a
LEFT JOIN systypes b ON axtype = bxusertype
INNER JOIN sysobjects d ON aid = did
AND dxtype = 'U'
AND dname <> 'dtproperties'
LEFT JOIN syscomments e ON acdefault = eid
LEFT JOIN sysextended_properties g ON aid = gmajor_id
AND acolid = gminor_id
WHERE dname = 'AA_AppFile'
ORDER BY aid ,
acolorder
注:sql2000版本中,需要使用sysproperties来代替sysextended_properties。
您好,很高兴为您解答。
可以参考下论坛:>
以上就是关于列是character类型导出时怎么获取全部的内容,包括:列是character类型导出时怎么获取、sql server 查询列名,列数据类型,列长度 sql语句怎么写、怎么读取一个Access表中某一列的字段的数据类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)