折雨的天空

新浪微薄腾讯微薄

最新碎语:最近霉到了住。哎。。。

您的位置:折雨的天空 >php开发> mssql获取字段名及注释,以及一系列问题

mssql获取字段名及注释,以及一系列问题

首先是获取字段名及注释


代码来自于:http://panyongzheng.iteye.com/blog/1829870


select b.name as column_name, c.value as remarks from sys.tables a left join sys.columns b on a.object_id=b.object_id left join sys.extended_properties c on a.object_id=c.major_id where a.name='TB_CHSS_GRJKDA' and c.minor_id<>0 and b.column_id=c.minor_id and a.schema_id=(select schema_id from sys.schemas where name='dbo')

然后,放到PHP里去做解析的时候会报错:


Fatal error: Unexpected SQL type encountered in calc_string_size

百度是看不到结果的,google了以下,有个人遇到了,也解决了,但是他说的英语,不懂啊,谷歌翻译过来更不懂了


这个人的描述在:http://stackoverflow.com/questions/23479151/getting-metadata-from-table-sql-server-php


然后分析了下,继续搜索了找到一篇文章:


http://m.blog.csdn.net/blog/wendi_0506/38756835


反正最上面那个说英语的,我大概能明白他说的是要做转换,但是从没用过MSSQL的我,一脸茫然啊


下面是正确的方式,主要是对注释字段进行cast转换

select b.name as column_name, cast(c.value as VARCHAR) as remarks from sys.tables a left join sys.columns b on a.object_id=b.object_id left join sys.extended_properties c on a.object_id=c.major_id where a.name='TB_CHSS_GRJKDA' and c.minor_id<>0 and b.column_id=c.minor_id and a.schema_id=(select schema_id from sys.schemas where name='dbo')


------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------

转载请注明本文标题和链接:《mssql获取字段名及注释,以及一系列问题

奖励一下

取消

分享不易,烦请有多多打赏,如您也困难,点击右边关闭即可!

扫码支持
扫码打赏,5元,10元,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

-秒后自动关闭,如已打赏,或者不愿打赏,请点击右上角关闭图标。

发表评论

路人甲 表情
看不清楚?点图切换