What should you do?
This section contains facts and tips to consider regarding character data types and locale settings.
Make sure that you have correctly defined the locale and length semantics for your character string data types.
When designing your database tables, consider using CHAR(N)
for fixed-length
string data (such as codes) and VARCHAR(N)
for variable-length string data,
such as names, address and comments.
Use
VARCHAR
variables for VARCHAR
columns, and
CHAR
variables for CHAR
columns, to achieve portability across all
kinds of database servers.Note: Note that with SQL Server, the column types can be
NCHAR/NVARCHAR
National Character types, to Unicode character types to be combined
with CHAR/VARCHAR
program variables. SQL Server 2019 surrports UTF-8 collation for
CHAR/VARCHAR
columns.Avoid storing empty strings in VARCHAR
columns, or make sure that your program
is prepared to get nulls while the database stores empty strings.
Using byte or character length semantics depends mainly on the character set of your application:
- When using a single-byte character set, keep the default byte length semantics.
- When using a multibyte character set such as UTF-8, use character length semantics in both the database and the programs.