我所知道的差异是varchar有限制,而文本不是.
documentation没有提到这一点.
这真的是唯一的区别吗?没有考虑性能等?
解决方法
其背景是:旧Postgres系统使用PostQUEL语言并使用名为text的数据类型(因为有人认为这是存储文本的类型的好名称).然后,Postgres被转换为使用sql作为其语言.为了实现sql兼容性,添加了一个新类型的varchar,而不是重命名文本类型.但是这两种类型在内部使用相同的C例程.
现在,在某种程度上,在某些地方,文本被硬编码为默认类型,以防其他任何内容都无法派生.此外,大多数函数仅可用于获取文本参数或返回文本.这两种类型是二进制兼容的,因此转换是一个简单的分析时操作.但是使用文本对于系统来说仍然是更自然的.
但除了这些优点之外,没有明显的区别.使用任何一个看起来更漂亮的人. 原文链接:https://www.f2er.com/mssql/81064.html