Solved

DATA LENGTH IN JAPANESE SQL SERVER

Posted on 1998-07-29
5
482 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 2

Accepted Solution

by:
jbiswas earned 100 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

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

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

Ever needed a SQL 2008 Database replicated/mirrored/log shipped on another server but you can't take the downtime inflicted by initial snapshot or disconnect while T-logs are restored or mirror applied? You can use SQL Server Initialize from Backup…
I have a large data set and a SSIS package. How can I load this file in multi threading?
Using examples as well as descriptions, and references to Books Online, show the documentation available for datatypes, explain the available data types and show how data can be passed into and out of variables.
Viewers will learn how the fundamental information of how to create a table.

751 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