insertselectvarchar长度限制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了insertselectvarchar长度限制相关的知识,希望对你有一定的参考价值。

参考技术A insertselectvarchar长度限制是10。
当varchar超过限制长度时,1.如果当前的SQL模式为宽松模式,那么将会按照从前往后的顺序,对字符串进行截断,并提示一个警告;2.如果当前的SQL模式为严格模式,那么将会报出一个错误。
从SQLServer2005开始,引入了varchar(max)/nvarchar(max)数据类型,表中可不使用LOB数据类型而突破单列8000/4000字符的限制,动态SQL也可以拼接得更长;但查看这类字符的时候,在某些地方,字符长度的限制仍然存在,比如:
单列:SSMS里返回的列值。
动态SQL:print命令打印字符时。

Java对类名长度有限制吗?

【中文标题】Java对类名长度有限制吗?【英文标题】:Does Java have a limit on the class name length? 【发布时间】:2010-11-05 13:24:16 【问题描述】:

这个问题出现在 Spring 类中,它有一些相当长的类名。类名长度的语言有限制吗?

【问题讨论】:

【参考方案1】:

Java Language Specification 声明标识符的长度不受限制。

但实际上,文件系统会限制生成的文件名的长度。

【讨论】:

Java VM 规范规定任何常量字符串都限制为 65535 字节:java.sun.com/docs/books/jvms/second_edition/html/… 这是来自第二版(与乔恩的回答相同)。第三版中没有这样的参考。 当前链接已损坏【参考方案2】:

我相信有 65535 个字符。来自Java虚拟机规范:

字段和方法名的长度, 字段和方法描述符,以及 其他常量字符串值是 限制为 65535 个字符 的 16 位无符号长度项 CONSTANT_Utf8_info 结构(第 4.4.7 节)。 请注意,限制在数量上 编码中的字节数,而不是 编码字符的数量。 UTF-8 使用编码一些字符 两个或三个字节。因此,字符串 合并多字节字符是 进一步限制。

这里:

https://docs.oracle.com/javase/specs/jvms/se6/html/ClassFile.doc.html#88659

【讨论】:

第三版有这样的参考吗?我找不到。 65535 是 JVM 而不是语言本身的限制 我在 JLS 第三版中找不到正确的部分。谁能提供更多信息? 这是 VM 规范第 4.10 章的最后一点:java.sun.com/docs/books/jvms/second_edition/html/… 对于 Java 8:docs.oracle.com/javase/specs/jvms/se7/html/…【参考方案3】:

在 JDK 1.5 中,Windows XP 上类名的实际限制为 255——更长的名称会导致文件系统出错。这是全名(目录+包+类)。

我还没有在 Vista 或 windows 7 上尝试过 JDK 1.6,希望 Sun 将其修复为 NTFS 限制为 8000 左右。

【讨论】:

有人知道 JDK 1,6+ 的答案吗?【参考方案4】:

没有。 Java 对类名没有任何限制。但是,如果您与其他系统(例如 JNI)进行交互,最好还是安全一点。

【讨论】:

这被称为未定义的行为,是任何规范的坏部分))

以上是关于insertselectvarchar长度限制的主要内容,如果未能解决你的问题,请参考以下文章

mysql能设置数据类型长度吗

表单元素

数据库系列 | MYSQL VARCHAR 类型详解

如何使用只有一个参考参数的可变长度参数列表?

剑指 Offer 05. 替换空格

GET请求的长度限制?