精华内容
下载资源
问答
  • sql记录 在mysql中 ...在sql中update 如果对这个字段使用 varchar = varchar + 1 假设 varchar 为1 ,那么结果是 11, 还是 2 … 之前一直以为是11,然后自己写了个sql跑了下发现居然是2. mysql会自动转换 ...

    sql记录

    在mysql中
    有个字段为 varchar类型,存的数据结构为整数,1,2,3…
    在sql中update 如果对这个字段使用 varchar = varchar + 1
    假设 varchar 为1 ,那么结果是 11, 还是 2

    之前一直以为是11,然后自己写了个sql跑了下发现居然是2.
    mysql会自动转换

    展开全文
  • 可以看一下,你的值后面是不是有空格,如果有的话,在拿值时就要去掉 例子如下: java if(dwid!=null){ dwid = dwid.trim(); while (dwid.startsWith(" ")) {//这里判断是不是全角空格 dwid = dwid....

    可以看一下,你的值后面是不是有空格,如果有的话,在拿值时就要去掉

    例子如下:

    if(dwid!=null){
    			dwid = dwid.trim();
    			while (dwid.startsWith(" ")) {//这里判断是不是全角空格
    				dwid = dwid.substring(1, dwid.length()).trim();
    			}
    			while (dwid.endsWith(" ")) {
    				dwid = dwid.substring(0, dwid.length() - 1).trim();
    			}
    		}
    
    展开全文
  • 具体要看版本: 4.0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33...5.0版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个 ...

    具体要看版本:

    4.0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)

    5.0版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个

    展开全文
  • 在设计数据库的时候会考虑给字段设置什么类型,设置多少长度合适,之前一直认为varchar(2)可以存储一个...4.0版本以下,比如 varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节) 5....

    在设计数据库的时候会考虑给字段设置什么类型,设置多少长度合适,之前一直认为varchar(2)可以存储一个汉字,或者一个数字,通过今天无意间的查询,发现了这个错误,来记下来

    其实varchar类型可以存储多少个汉字,多少个数字,是要具体看我们的mysql版本。

    如下:
    4.0版本以下,比如 varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)

    5.0版本以上,比如varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。

    通过查看,我使用的是5.0版本以上 的数据库,所以说一个varchar长度对应一个汉字或者一个数字

    以为的版本为例做了如下测试:

    新建表:

    CREATE TABLE varchar_test (
    
    `id` int(11) NOT NULL ,
    
    `string` varchar(20)
    
    ) ENGINE=InnoDB
    
    DEFAULT CHARACTER SET=utf8COLLATE=utf8_general_ci
    

    插入表:

    INSERT INTO varchar_test (id, string)
    
    VALUES (1, '一二三四五六七八九十');
    
     
    
    INSERT INTO varchar_test (id, string)
    
    VALUES (2, '一二三四五六七八九十一二三四五六七八九十');
    
     
    
    INSERT INTO varchar_test (id, string)
    
    VALUES (3, '12345678901234567890');
    

    测试结果:

    1:一二三四五六七八九十
    
    2:一二三四五六七八九十一二三四五六七八九十
    
    312345678901234567890
    

    如果插入字符超过21个,则报错

    INSERT INTO varchar_test (id, string)
    
    VALUES (3, '123456789012345678901');
    
    [Err] 1406 - Data too long for column'string' at row 1
    

    通过测试,我们也能得出结论:

    5.0版本以上的MySQL的varchar(n)可以存储的中文字符数和英文字符数是一致的,都是n个字符

    展开全文
  • create table test( id int(4) not null primary key ...user_id varchar(50) not null, key `idx_user_id` (user_id)); user_id为varchar 可是当我们查询数据的时候使用 explain select * from zhangliang where u
  • mysql中varchar存放多少个中文

    千次阅读 2020-02-17 00:33:43
    5.0版本以上,varchar(50),指的是50字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个 其实最好的办法是在自己数据库中建个表试试可以放多少汉字,现在mysql都5.0已上了,varchar(50)是...
  • MySQL varchar存放的字数

    2018-04-26 14:01:33
    4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能存16个(每个汉字3字节) 5.0版本以上,varchar(50),指的是50字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个 ...
  • 今天又被自己蠢哭了 count1='lmk' password1='lmk123' sql1='insert into USERINFO1(USERCOUNT,PASSWORD) values ({0},{1})'.format(count1,password1) 报错 cx_Oracle.DatabaseError...数据库中明明是 varchar2 的...
  • 项目中遇到的问题,一个笔试试卷成绩查询最高分和最低分,简单的对分数字段排序,一直是正常的。出bug了就这个简单的功能,突然有一天,客户发现很奇怪的是最高分比最低分还低。这明显是有问题的:数据库大概是这样...
  • sqlserver语法: selectsum(cast(scoreasint))asscorefrom表名; 注意:int是整型,在实际操作中根据自己需要的类型转换。 转载于:https://www.cnblogs.com/MisMe/p/10690748.html...
  • 比如说我存储5个char,二者都是实际占用了5个char了【不准确的想法:varchar在实际存储的时候会多一个byte用来存放长度】。 但是深入一下,设计数据库的时候,二者一样吗? 答案是否定的【至少varchar类型需要在数据...
  • 这个条件从前端传到后端的类型为string,并且这个字段在oracle数据库里为varchar类型,数据库中这个字段的值存放的有数字如12.2等,也有汉字如浮动收益等,还有为空等情况。 解决方案 : 我在DAO层的...
  • select sum(cast(money as float8)) from data
  • 2、varchar能存多少汉字、数字? 3、varchar的最大长度是多少呢? 4、字符、字节、位,之间的关系? 5、mysql字段类型存储需要多少字节? 接下来请仔细看,整理不易啊。 1、varchar(100)和varchar(10)的区别在...
  • varchar(50),指的是50字节,如果存放UTF8汉字时,只能存16个(每个汉字3字节) 5.0版本以上32313133353236313431303231363533e59b9ee7ad9431333365643662,varchar(50),指的是50字符,无论存放的是数字、字母还是UTF...
  • 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大...
  • MySQL的varchar(45)可以存放多少个汉字

    千次阅读 2019-05-21 16:02:09
    MySQL在4版本以前,用的是字节存储,一个UTF8汉字占用3字节,故,varchar(45)可以存放15个汉字; MySQL在5版本以后,用的是字符存储,一个UTF8汉字和一个英文字母一样,也是一个字符,故,varchar(45)可以存放45个...
  • 这是一个有255个 “我”的字符串插入到 一个 设置为varchar(255)的实例代码StringBuffer sb = new StringBuffer(); for(int i=0;i<256;i++){ sb.append("我"); } PreparedStatement pstmt = conn_2.prepare...
  • MySql 5.0版本以上,VARCHAR(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节; VARCHAR(20)在Mysql4中最大也不过是20个字节,但是Mysql5根据编码...
  • VARCHAR2(20)可以存储多少个数字

    千次阅读 2017-06-02 15:53:42
    varchar2是oracle中独有的类型,可以存储0-20个数字(英文写法),如果是中文数字的话只能存储10个。 创建测试表: 1 2 3 create table test (id int, name varchar2(20)); ...
  • 1.创建表 XXLSH lsh流水号字段是 字符型 varchar...难道是刚开始,虽然定义的类型是varchar类型,但是实际插入的数据是数字,mysql默认是数值类型了,后边插入的数据存在字符串形式。mysql更改类型了?求大神解释一下。
  • char、varcharvarchar2区别

    千次阅读 2021-01-28 04:07:12
    char varchar varchar2 的区别 区别: 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc,对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只...
  • VarChar能存储多少个值

    2020-12-18 10:00:31
    参考链接:MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文 首先我们需要了解utf-8和GBK的区别,因为不同的编码格所占的字节数是不同的 中文 英文 utf-8 1~3个字节 1个字节 GBK 2个字节 1个字节 ...
  • 2、varchar能存多少汉字、数字? 3、varchar的最大长度是多少呢? 4、字符、字节、位,之间的关系? 5、mysql字段类型存储需要多少字节? 接下来请仔细看,整理不易啊。 1、varchar(100)和varchar(10)的区别在哪里?...
  • 后面才发现原来是字段长度20不够存放..下次要注意,当然,字段长度设定也不能过于大,够用即可.以下为转发:今天新开始的项目在做数据库设计,发现自己对MySql的varchar类型还不熟悉,故又上网收集资...
  • 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节。varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,083
精华内容 13,633
关键字:

varchar存放数字