0

My object is a string, implemented as an array of 1-50 US-ASCII data characters.

  1. What SQL Data Type should I use to represent this in my database table?
    • I am using SQL Server Express 2008. (Does that matter?)
  2. Does representing Extended ASCII require a different datatype than representing Standard ASCII?
4

1 回答 1

1

如果您需要可变长度的 US-ASCII 字段(最多 50 个字符),请使用VARCHAR(50). 如果要使用 Unicode,则需要使用NVARCHAR(50).

varchar [ ( n | max ) ]

可变长度、非 Unicode 字符数据。n 可以是 1 到 8,000 之间的值。max 表示最大存储大小为 2^31-1 字节。存储大小是输入数据的实际长度 + 2 个字节。输入的数据长度可以是 0 个字符。varchar 的 ISO 同义词是 char 变化或字符变化。

和:

使用 char 或 varchar 的对象被分配数据库的默认排序规则,除非使用 COLLATE 子句分配特定排序规则。排序规则控制用于存储字符数据的代码页。


nvarchar [ ( n | max ) ]

可变长度的 Unicode 字符数据。n 可以是 1 到 4,000 之间的值。max 表示最大存储大小为 2^31-1 字节。存储大小(以字节为单位)是输入字符数的两倍 + 2 个字节。输入的数据长度可以是 0 个字符。nvarchar 的 ISO 同义词是国家字符变化和国家字符变化。

于 2011-07-07T20:06:43.757 回答