草庐IT

varchars

全部标签

mysql - 将 int 转换为 varchar

我有以下查询,需要将id转换为varchar架构createtablet9(idint,namevarchar(55));insertintot9(id,name)values(2,'bob');我尝试了什么selectCAST(idasVARCHAR(50))ascol1fromt9;selectCONVERT(VARCHAR(50),id)ascolI1fromt9;但它们不起作用。请提出建议。 最佳答案 您需要cast或convert作为CHAR数据类型,没有可以将数据转换/转换为的varchar数据类型:selectCAST

mysql - INT 和 VARCHAR 主键之间是否存在真正的性能差异?

在MySQL中使用INT与VARCHAR作为主键之间是否存在可衡量的性能差异?我想使用VARCHAR作为引用列表的主键(想想美国各州、国家/地区代码),并且同事不会将INTAUTO_INCREMENT作为所有表的主键。我的论点,详细here,是INT和VARCHAR之间的性能差异可以忽略不计,因为每个INT外键引用都需要JOIN来理解引用,VARCHAR键将直接呈现信息。那么,是否有人对这个特定用例以及与之相关的性能问题有经验? 最佳答案 我对缺乏在线基准感到有点恼火,所以我自己进行了测试。请注意,虽然我不会在常规基础上进行此操作,

mysql - 从 VARCHAR 转换为 INT - MySQL

我的当前数据SELECTPROD_CODEFROM`PRODUCT`是PROD_CODE25782210911我已经尝试了所有四个查询,但都没有工作。(Ref)SELECTCAST(PROD_CODE)ASINTFROMPRODUCT;SELECTCAST(PROD_CODEASINT)FROMPRODUCT;SELECTCAST(PROD_CODE)ASINTEGERFROMPRODUCT;SELECTCAST(PROD_CODEASINTEGER)FROMPRODUCT;所有抛出语法错误如下:YouhaveanerrorinyourSQLsyntax;checkthemanualt

MySQL:大型 VARCHAR 与 TEXT?

我在MySQL中有一个消息表,用于记录用户之间的消息。除了典型的id和消息类型(所有整数类型)之外,我需要将实际的消息文本保存为VARCHAR或TEXT。我设置了3000个字符的前端限制,这意味着消息永远不会被插入到数据库中。是否有使用VARCHAR(3000)或TEXT的理由?写VARCHAR(3000)有点违反直觉。我已经在StackOverflow上浏览过其他类似的帖子,但如果能获得特定于这种常见消息存储类型的View会很好。 最佳答案 TEXT和BLOB可以存储在表之外,表中只有一个指向实际存储位置的指针.它的存储位置取决于

解决Data too long for column ‘xxx‘ at row 1问题以及深入理解mysql的字符串数据类型(char,varchar,enum,text,longtext...)

文章目录1.复现问题2.分析问题3.深入理解mysql的数据类型3.1CHAR和VARCHAR类型3.2TEXT类型3.3ENUM类型3.4SET类型4.解决问题5.总结1.复现问题今天在测试环境新增数据时,报出如是错误:Datatoolongforcolumn'apply_service_type'atrow1。为了复现这个问题,我特地在本地数据库中增加如下test表:DROPTABLEIFEXISTS`test`;CREATETABLE`test`(`id`int(11)NOTNULLAUTO_INCREMENT,`apply_service_type`varchar(255)CHARAC

解决Data too long for column ‘xxx‘ at row 1问题以及深入理解mysql的字符串数据类型(char,varchar,enum,text,longtext...)

文章目录1.复现问题2.分析问题3.深入理解mysql的数据类型3.1CHAR和VARCHAR类型3.2TEXT类型3.3ENUM类型3.4SET类型4.解决问题5.总结1.复现问题今天在测试环境新增数据时,报出如是错误:Datatoolongforcolumn'apply_service_type'atrow1。为了复现这个问题,我特地在本地数据库中增加如下test表:DROPTABLEIFEXISTS`test`;CREATETABLE`test`(`id`int(11)NOTNULLAUTO_INCREMENT,`apply_service_type`varchar(255)CHARAC

MySQL之char、varchar类型简析

我们都知道,MySQL中关于字符,有char和varchar两种常用的类型,可能在平时的使用过程中,大家不会去关心这两种类型的区别,只是会用就可以了,或者说看到过一些它们的区别,但是没有时间去测试,今天有时间了,我将这两种类型的具体情况实验一把,让大家直观感受下,纯属分享,大神请绕道。​先说说理论吧。​char类型为固定长度的字符串,比如说char(10),它定义了指定的字符串长度最大为10个字符,如果你现在输入一个字符串为’12345678’,那么它在char类型中到底会占用多少个字符呢?答案是10个,后面缺少的2个字符,MySQL会自动补充为空值,然后进行存放。在取这个记录的时候,char

MySQL之char、varchar类型简析

我们都知道,MySQL中关于字符,有char和varchar两种常用的类型,可能在平时的使用过程中,大家不会去关心这两种类型的区别,只是会用就可以了,或者说看到过一些它们的区别,但是没有时间去测试,今天有时间了,我将这两种类型的具体情况实验一把,让大家直观感受下,纯属分享,大神请绕道。​先说说理论吧。​char类型为固定长度的字符串,比如说char(10),它定义了指定的字符串长度最大为10个字符,如果你现在输入一个字符串为’12345678’,那么它在char类型中到底会占用多少个字符呢?答案是10个,后面缺少的2个字符,MySQL会自动补充为空值,然后进行存放。在取这个记录的时候,char

关于varchar(255)的一些资料整理

我们在MySQL+InnoDB+UTF8建表时,不管是按自己的经验,还是遵循DBA的经验,一般都会默认不超过varchar(255)。如果继续往下细究,为什么不建议超过255,去网上搜一搜,基本上都说:在超过768字节后,会变得跟Text一样,查询效率差。在仔细阅读了官方文档后,发现没那么简单。首先我们找到RowFormat相关的介绍,重点关注下compact和dynamic这两种,因为这两种使我们目前使用最多的rowformat。COMPACTRowFormatTablesthatusetheCOMPACTrowformatstorethefirst768bytesofvariable-le

关于varchar(255)的一些资料整理

我们在MySQL+InnoDB+UTF8建表时,不管是按自己的经验,还是遵循DBA的经验,一般都会默认不超过varchar(255)。如果继续往下细究,为什么不建议超过255,去网上搜一搜,基本上都说:在超过768字节后,会变得跟Text一样,查询效率差。在仔细阅读了官方文档后,发现没那么简单。首先我们找到RowFormat相关的介绍,重点关注下compact和dynamic这两种,因为这两种使我们目前使用最多的rowformat。COMPACTRowFormatTablesthatusetheCOMPACTrowformatstorethefirst768bytesofvariable-le