gpt4 book ai didi

java jdbc mysql -resultset getMetaData 返回了一个奇怪的值

转载 作者:行者123 更新时间:2023-11-30 22:23:55 25 4
gpt4 key购买 nike

这是我的 sql 查询字符串:

select t.create_date, concat('+', t.points) as points,
case t.obtain_ways
when 'PURCHASE_PRODUCT' then '理财赠送'
when 'SOCIAL_NETWORK_SHARE' then '社交网络分享'
when 'CHECK_IN' then '签到'
when 'RAFFLE' then '抽奖'
end as obtain_ways
from points_record t where [custId] and delete_flag=0

当我使用 mysql 函数如 concat 或 sum 函数并且我的 sql 字符串包含中文字符时,结果集元数据中的 getColumnType 的值是奇怪的。

ResultSetMetaData resultmd = resultSet.getMetaData();
int type = resultmd.getColumnType(2);
// type is -3 VARBINARY

类型是-3,也就是VARBINARY,但应该是12(VARCHAR)。

当我使用英文单词而不是汉字时,一切都很好。

select t.create_date, concat('+', t.points) as points,
case t.obtain_ways
when 'PURCHASE_PRODUCT' then 'a'
when 'SOCIAL_NETWORK_SHARE' then 'b'
when 'CHECK_IN' then 'c'
when 'RAFFLE' then 'd'
end as obtain_ways
from points_record t where [custId] and delete_flag=0

栏目类型:

ResultSetMetaData resultmd = resultSet.getMetaData();
int type = resultmd.getColumnType(2);
// type is 12 VARCHAR

但是当我使用另一个安装在另一台计算机上的数据库时,无论我使用中文字符还是英文单词,结果都可以。

我的项目编码是UTF-8,我的数据库编码是:

Variabile_name                     value
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\

另一个数据库编码是:

Variabile_name                     value

character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/local/mysql/share/charsets/

最佳答案

昨天,我更新了我的mySql数据库,终于一切正常。我的旧mySql版本是5.1,我最新的mySql是5.7。可能是mySql的一个错误。

关于java jdbc mysql -resultset getMetaData 返回了一个奇怪的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35882228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com