Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

DATA LENGTH IN JAPANESE SQL SERVER

Posted on 1998-07-29
5
Medium Priority
?
544 Views
Last Modified: 2011-09-20
My Problem : I  am using SQL server 6.5 as backend for storing data. I have a table with a field of length 20.

In case of English SQL Server I can store 20 english characters. But in case of Japanese SQL server for the
same table I can only store maximum of 10 Japanese characters.

My question is
1) how  to handle the problem in both the SQL
servers without changing the data length so that I can store 20 characters.My requirement is to use same table
creation scripts for both the servers.
0
Comment
Question by:vram
  • 3
  • 2
5 Comments
 
LVL 2

Accepted Solution

by:
jbiswas earned 200 total points
ID: 1089288


The char(n) datatype stores fixed-length strings, and the varchar(n) datatype stores variable-length strings, in single-byte character sets such as English. Their national character counterparts, nchar(n) and nvarchar(n), store fixed- and variable-length strings in multibyte character sets such as Japanese. You can specify the maximum number of characters with n or use the default column length of one character. For strings longer than 255 bytes, use the text datatype.
0
 

Author Comment

by:vram
ID: 1089289
I am pretty satisfied about ur answer, but i find that when i use nvarchar(n) in a create table statement for eg:
create table x
(fld1 nvarchar(2) )  it gives an error saying nvarchar not found.
How do i use nvarchar(n) or nchar(n)  ?
kindly clarify immediately
MOHAN
0
 

Author Comment

by:vram
ID: 1089290
I am pretty satisfied about ur answer, but i find that when i use nvarchar(n) in a create table statement for eg:
create table x
(fld1 nvarchar(2) )  it gives an error saying nvarchar not found.
How do i use nvarchar(n) or nchar(n)  ?
kindly clarify immediately
SQL SERVER VER 6.5 [JAPANESE VERSION]
If any new versions available with the above feature (nvarchar(n)) kindly mention
MOHAN
0
 
LVL 2

Expert Comment

by:jbiswas
ID: 1089291
This is exactly what I did..dunno why it doesn't work for you..
1> create table jit1
2> (field2 nvarchar(2))
3> go
1> sp_help jit1
2> go
 Name                           Owner
         Type
 ------------------------------ ------------------------------
        ----------------------
 jit1                           dbo
         user table

 Data_located_on_segment        When_created
 ------------------------------ --------------------------
 default                               Aug  4 1998  9:21AM

 Column_name     Type            Length Prec Scale Nulls Default_name
         Rule_name       Identity
 --------------- --------------- ------ ---- ----- ----- ---------------
        --------------- --------
 field2          nvarchar             2 NULL  NULL     0 NULL
         NULL                   0
Object does not have any indexes.
No defined keys for this object.
Object is not partitioned.
0
 
LVL 2

Expert Comment

by:jbiswas
ID: 1089292
Also just so that you know..MS SQL server did not have this in version 6.5..they introduced it in version 7.0. They call it Unicode. So just in ase you are running on 6.5 obviously it doesn't work. They introduced nchar in 6.5 but the full functionality of multibyte character sets have only been introduced in version 7.

The fact that Unicode data needs twice much storage space is ofset by the elimination of the need to convert extended characters between code pages. In MS SQL Server , the new data types that support Unicode are ntext, nchar andd nvarchar. They are the same as text, char and varchar, except for the wider range of characters supported and the increased storage space used.

0

Featured Post

Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
One of the most important things in an application is the query performance. This article intends to give you good tips to improve the performance of your queries.
Using examples as well as descriptions, and references to Books Online, show the different Recovery Models available in SQL Server and explain, as well as show how full, differential and transaction log backups are performed
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
Suggested Courses

577 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question