MySQL数据库中字段设置了zerofill,页面上显示时整数前仍带有0以及如何查询字段注释

           上周工作任务量较大,周五下班的时候太累了,就直接关机回家了,今天把上周学到的都记录下。

           首先,上周遇到的一个问题:查询mysql数据库中一个拥有65个字段的表的数据,而且还得将字段的注释查出来,当时看到这个头就大了,不知道如何下手,(不过我从没想过将65个字段全写在select后面一遍,这简直太惨绝人寰了)   后来得到了同事的帮助,教我使用information_schema(mysql的架构信息库),简单的一个sql就解决了这个问题,大致是这样的:

            SELECT COLUMN_NAME AS '字段名',COLUMN_COMMENT AS '字段注释',DATA_TYPE AS '字段类型'    FROM information_schema.COLUMNS   

            WHERE TABLE_SCHEMA='database_name' AND TABLE_NAME='table_name' AND COLUMN_COMMENT !=''  AND COLUMN_COMMENT != '未使用'

这样就解决了大量字段值的查询问题。使用mysql数据库也有两年了,从来没注意过information_schema这个库,看来以后对mysql学习的深入,这是一个好的途径。

            还有一个让我小郁闷的,表中的字段设置了zerofill,印象里一直觉得select之后就自动去掉整数左边的0了,结果相反,百度了之后发现sql中有个 转换数据类型的cast方法,很是高兴,直接就用上了  select cast(field  as int)   ,查询时却出错了,又查看了其他网页结果,还是没有想明白,后来被同事指出:在cast数据类型时没有int 。后来认真百度了下,并做了记录,原来可用被转成的类型只有8种(有待考究): BINARY (二进制字符串);CHAR() (字符型,可带参数);DATE(日期);TIME(时间);DATETIME(日期时间型);DECIMAL(浮点型);SIGNED(有符号整数);UNSIGNED(无符号整数)。所以,我的查询改成这样就可以了   select  cast(fields as unsigned)            

参考地址:MySQL数字类型转换函数

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值