Mysql中varchar(1024),如果大于1024我就要截取,是这样吗:if(result.length()>1024)?还是其他的办法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql中varchar(1024),如果大于1024我就要截取,是这样吗:if(result.length()>1024)?还是其他的办法?相关的知识,希望对你有一定的参考价值。

大于1024就截取,小于就不做操作。怎么进行判断呢,有汉字有字母有数字。

参考技术A 最好的办法就是管它超没超过1024,都截取前1024位,反正小于1024的也是正常取出来值

select substr(字段名,1,1024) from 表名
参考技术B 这个根本必要,如果大于你设置的长度(1024)的话,根本就保存不进去,只能保存1024b,其他的自动删除了

oracle转Mysql中,varchar2(10)和number应该转换为什么类型? (转)

一. varchar2(10)和number应该转换为什么类型?

oracle转成mysql时:
varchar2(10)可以转成varchar(10)
number则要看oracle中存储的具体是什么类型的数据:
1、如果是整型,那么mysql中,用int即可;
2、如果是带小数位的,那么mysql中可用numeric类型。

注:mysql中没有varchar2(10)和number这两个数据类型

 

二. Mysql varchar VS Oracle varchar2

mysql和oracle做数据同步。其中表的一个字段在mysql中设置为varchar(6),Oracle中为varchar2(6)
但mysql中能正常存放的数据同步到oracle中却抱ORA-12899: value too large for column错误。
这是为什么呢?

mysql中varchar(6)代表可以存放6个汉字,6个字母,或6个数字。
oracle中varchar2(6)代表可以中存放6个字节。即oracle中varchar2的长度代表字节数而不是字符数。
mysql中一个汉字占三个字节,Oracle中一个汉字占两个字节。

 

虽然mysql varchar 和orache varchar2中字段设置相同的长度,但oracle中却存放不下。

http://www.cnblogs.com/yangxia-test/p/4710250.html

以上是关于Mysql中varchar(1024),如果大于1024我就要截取,是这样吗:if(result.length()>1024)?还是其他的办法?的主要内容,如果未能解决你的问题,请参考以下文章

如果我有一个表中始终为空的 mssql varchar[1024],那么将浪费多少实际字节?

MySql 5.0 以上版本的varchar和text数据类型可以存的汉字个数

MySQL的VARCHAR最大值是多少

用大于 8000 的大小替换所有 varchar 列声明

MySql 优化器不使用 varchar 上的索引

oracle sql判断一个数大于2000 如果大于减1500