数据类型求解

missing77 2010-03-18 11:51:21
求教:
在mysql5.1下,有没有与 mysql3.2下的 “varchar(200) BINARY” 等价的数据类型?

在 “varchar(200) BINARY”这种类型字段中存的“中文” 可以被用select * from t1 where c1='中文'语句显示,但用
select hex(c1) from t1 where c1='中文'时 hex(c1)=0 这是怎么回事呢?
...全文
64 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZHANGJUNPING 2010-03-21
  • 打赏
  • 举报
回复
ooooooooooooooooooo
missing77 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yueliangdao0608 的回复:]
有的。
[/Quote]
什么有的。。。?
missing77 2010-03-18
  • 打赏
  • 举报
回复
谢谢版主回复,上次的问题显示中文的问题是解决了,但是还有别的问题,但是我想分步搞清楚原因是什么,这个问题可能我问的不太准确,因为我也不知道是不是数据类型的问题。

另外我觉得这事跟表没什么关系,具体情况如下:
1,我使用的是n8连接mysql.
2,连接mysql5.1 然后建查询 select hex('中尉') 返回 E4B8ADE5B089 (这个操作跟表和数据类型没有关系吧?)
3,连接mysql3.2 然后建查询 select hex('中尉') 返回 0

4,同样,上次所说的补码中文的问题
连接mysql5.1 然后建查询 char(-76,-13,-51,-73) 返回 大头
连接mysql3.2 然后建查询 char(-76,-13,-51,-73) 返回 ????

我只是想在5.1下也能实现如同3.2下一样的返回结果。
ACMAIN_CHM 2010-03-18
  • 打赏
  • 举报
回复
或者提供一个 create table t1 语句,然后贴出你的 show variables ... 这样别人可以在自己机器上模拟你的问题以找出根源,而不是猜着找问题所在。
missing77 2010-03-18
  • 打赏
  • 举报
回复
如果都是latin1呢?
ACMAIN_CHM 2010-03-18
  • 打赏
  • 举报
回复
MySQL 5.1 中使用的是字符集设置。

关键看你的字符集是什么?
按下贴中的方法检查一下当前的字符集设置。
http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码
懒得去死 2010-03-18
  • 打赏
  • 举报
回复
有的。
ACMAIN_CHM 2010-03-18
  • 打赏
  • 举报
回复
2,连接mysql5.1 然后建查询 select hex('中尉') 返回 E4B8ADE5B089 (这个操作跟表和数据类型没有关系吧?)
这个和你的当前character_set_client的字符集有关。 首先MYSQL要你送进来的这个 '中尉' 是什么字符集? 结果是UTF8, '中尉' UTF8 的HEX自然是 E4B8ADE5B089

其它问题也类似,建议你还是先阅读一下手册中关于字符集部分的介绍,否则一些基本概念不清晰的情况下,很难解释。

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧