0
点赞
收藏
分享

微信扫一扫

solr对mysql中tinyint字段的处理方法


介绍

select id,convert(with_costs,SIGNED) as with_costs from table_a;使用convert()函数可以完成数据类型的转换   在使用DIH(Data Import Handler)创建索引时,mysql中的tinyint类型的字段会被转换为java的boolean类型,值为true、false,很多情况下这是不符合要求的。如果要保持数字类型,需要在sql语句中转换 例如: select id,convert(with_costs,SIGNED) as with_costs from table_a; 解释: convert()函数可以完成数据类型的转换,with_costs是要转换的字段名,tinyint类型,SIGNED是要转换的目标类型,这里记得写上as XXX即字段的新别名,经测试不写as XXX转换无效。 注:可以转换的类型是有限制的。这个类型可以是以下值其中的一个: 二进制,同带binary前缀的效果 : BINARY 字符型,可带参数 : CHAR() 日期 : DATE 时间: TIME 日期时间型 : DATETIME 浮点数 : DECIMAL 整数 : SIGNED 无符号整数 : UNSIGNED 另外,这个问题从solr3.x就存在了,现在在5.4.1版本上测试,问题依旧。

参考

本文为原创,如果您当前访问的域名不是surenpi.com,请访问“​​素人派​​”。


查看原文:​​http://surenpi.com/2017/07/04/solr%e5%af%b9mysql%e4%b8%adtinyint%e5%ad%97%e6%ae%b5%e7%9a%84%e5%a4%84%e7%90%86%e6%96%b9%e6%b3%95/​​


举报

相关推荐

0 条评论