vram
asked on
DATA LENGTH IN JAPANESE SQL SERVER
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.
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.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
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
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
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.
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.
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.
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.
ASKER
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