`

SQL中char、varchar、text和n开头的区别(转)

    博客分类:
  • sql
阅读更多
1、CHAR
CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(100),那么不论你存储的数据是否达到了100个字节,都要占去100个字节的空间。

2、VARCHAR
存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。
    从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。

3、TEXT。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。

4、NCHAR、NVARCHAR、NTEXT。多了个“N”。它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。

     所以一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar。

     如果是存储文章等大段内容的时候,纯英文和数字,用text,含有中文字符的,用ntext。
分享到:
评论

相关推荐

    数据库技术sql数据类型转换

    - `text` 或 `varchar` 到 `char`: ```sql USE pubs; SELECT SUBSTRING(title, 1, 25) AS Title, CONVERT(char(2), ytd_sales) FROM titles WHERE type = 'trad_cook'; ``` 5. **其他类型转换**: - `...

    解析 SQL 中的字符串.rar_SQL 解析_sql

    SQL中的字符串通常由CHAR、VARCHAR和TEXT等数据类型表示。CHAR是固定长度的字符串,而VARCHAR是可变长度的,适用于存储不同长度的文本。TEXT数据类型用于存储大量文本,如文章或文档。 2. 引号: 在SQL中,字符串...

    SQL2000常用函数

    - `PATINDEX()`:与CHARINDEX类似,但支持使用通配符,并可用于CHAR、VARCHAR和TEXT数据类型。 5. **字符串操作函数**: - `QUOTENAME()`:用特定字符括起字符串,常用于安全地引用对象名。 - `REPLICATE()`:...

    SQL字符串函数大全

    TEXT类型到CHAR或VARCHAR类型的转换最多为8000个字符。 4. IMAGE类型存储的数据转换到BINARY或VARBINARY类型时,也限制为8000个字符。 5. 整数值转换为MONEY或SMALLMONEY类型时,会按照定义的货币单位进行处理。 ...

    2013广州城市职业学院sqlA卷

    2. **数据类型**:字符数据类型包括Char、Varchar和Text。Char是固定长度的字符串类型,Varchar是可变长度的字符串类型,Text用于存储大量文本数据。 3. **整型数据类型**:Tinyint是整型数据类型中的一种,用于...

    SQL字符串操作函数.doc

    SQL字符串操作函数是数据库操作中不可或缺的一部分,它们主要用于处理和操作字符型数据,如CHAR、VARCHAR、BINARY和VARBINARY等数据类型。这些函数在SELECT语句、WHERE子句及表达式中都能发挥重要作用,帮助用户进行...

    sql存储过程基础语法

    可以声明多种类型的变量,如整型(`int`, `smallint`, `tinyint`)、浮点型(`decimal`, `float`, `real`)、货币型(`money`, `smallmoney`)、字符串型(`text`, `image`, `char`, `varchar`等)。声明语法如下:...

    SQLServer2008数据库总复习题.doc

    9. 字符型数据类型:SQLServer的字符型数据类型包括char、varchar和text。 10. 聚集索引:聚集索引决定了数据表的物理顺序,其索引顺序与数据表的顺序相同。 11. LIKE操作符:在SQL中,LIKE用于模糊查询,"%"代表...

    sql_函数大全_比较常用的一些函数整理[归纳].pdf

    - `PATINDEX()`:类似于`CHARINDEX()`,但支持使用通配符,并能用于CHAR、VARCHAR和TEXT数据类型。 5. **字符串操作函数**: - `QUOTENAME()`:使用指定字符或默认的方括号将字符串包围,常用于创建安全的SQL对象...

    SQL Sever 常用函数集锦

    2. **PATINDEX()**:与CHARINDEX()类似,PATINDEX()也用于查找子串的起始位置,但它的独特之处在于支持通配符搜索,并且可以应用于CHAR、VARCHAR以及TEXT数据类型,提供更广泛的搜索能力。 #### 字符串操作函数:...

    经典SQL语句大全

    在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据 在selecte统计函数中的字段,不能和普通的字段放在一起; 13、对数据库进行操作: 分离数据库: sp_detach_db; 附加数据库:sp_attach_db 后...

    sql-函数大全-常用函数整理.doc

    2. `PATINDEX()`:类似于`CHARINDEX()`,但支持通配符,适用于CHAR、VARCHAR和TEXT类型。 **字符串操作函数**: 1. `QUOTENAME()`:使用指定字符包围字符串,通常用于创建安全的数据库对象引用。 2. `REPLICATE()`...

    SQL-server数据库管理系统试卷及答案A.pdf

    SQL Server的字符型数据类型主要包括char、varchar、text等。 12. 影响SELECT语句行数的关键字: ORDER BY不影响返回行数,只影响排序顺序。 13. 局部变量: SQL Server的局部变量以@开头,选项D是正确的格式。 ...

    sql_2000函数大全.doc

    - `PATINDEX()`:与 `CHARINDEX()` 类似,但支持通配符,并可用于 `CHAR`, `VARCHAR` 和 `TEXT` 数据类型。 5. **字符串操作函数**: - `QUOTENAME()`:将字符串用指定字符括起,通常用于确保字符串安全地作为...

    第六节 数据库与T-SQL语言.docx

    Sybase的数据类型包括字符类型(如Char、VarChar)、数值类型(如Integer、SmallInt、TinyInt、Real、Float、Number、Decimal、Money、SmallMoney)、日期/时间类型(Datetime、SmallDatetime)、文本和图像类型...

    主流数据库数据类型的比较

    - MS SQL Server的字符类型有char、varchar、text、nchar、nvarchar和ntext,其中n开头的类型用于存储Unicode字符。 - Oracle的字符类型有char、varchar2、clob,其中varchar2类似于varchar,clob用于存储大文本。...

    SQLServer2008数据库总复习题.docx

    9. SQL Server的字符型数据类型包括`char`、`varchar`和`text`等,`int`和`money`属于数值类型,`datetime`和`binary`则分别属于日期时间型和二进制类型。 10. 聚集索引(clustered index)的顺序与数据表的物理...

    SQL-Server-2008数据库总复习题A.docx

    9. 字符型数据类型:SQL Server中的字符型数据类型包括char、varchar和text。 10. 聚集索引:聚集索引决定了数据在磁盘上的物理顺序,索引顺序与数据表的物理顺序相同。 11. 查询含特定字符串的记录:使用LIKE操作...

    SQL模拟考试题及答案1.pdf

    14. SQL Server 2000的Unicode支持是通过`nchar`、`nvarchar`数据类型实现的,而非`text`、`char`和`varchar`。 15. 删除表时,与表相关的触发器不会自动删除,需要单独处理。 16. `BACKUP DATABASE`命令用于对...

Global site tag (gtag.js) - Google Analytics