Char Nchar Vchar Nvchar !?
Feb 14, 2006Hello
in MS SQL 2000 for text it is possible ti use
char
nchar
varchar
nvarchar
what must be used and for what ?
I want to store normal text with occidental char (accents)
thank you
Hello
in MS SQL 2000 for text it is possible ti use
char
nchar
varchar
nvarchar
what must be used and for what ?
I want to store normal text with occidental char (accents)
thank you
HiI have a SQL database with approx., 90m rows. Within the tablethere several fields that are varchar 4. On a test server with approx.200k rows I converted those to char4.It showed that the database size shrunk by approx. 20 %, why I don'tunderstand.My question is would I get a performance improvement for selectqueries against those fields when they are char4 as opposed to varchar4 ?Thanks
View 1 Replies View RelatedWhat is the difference between the above data types in SQL? Which datatype should I use if I wanted both numbers and characters?
View 1 Replies View RelatedHello,
I am trying to convert a single code page MS Server database into a unicode database, using the unicode data types,NCHAR, NVARCHAR, NTEXT. The problem is that in the original database, indexes and constraints have been defined on the tables whose configurations need to be changed. As a result, the ALTER TABLE command fails. Are there any other alternative solutions?
Also, data from the old database needs to be preserved. The objective is to create a unicode database which keeps the old data intact as well as accepts the new data in unicode.
It would be great if you could help!
Thanks,
Sheetal.
Hi,
Which of the above data type (alongwith size) should be used for storing things like Customer Name, Company name etc . ???
Also, what really is the benefit of one over the over :confused:
Thanks
can anybody please explain me why microsoft using nvarchar/nchar instead of varchar/char in northwind database and pubs database. I know if a column holds unicode data you should use nvarchar or nchar but for me all those tables in northwind/pubs are not holding unicode data. but still why microsoft settled for nchar/nvarchar.
View 2 Replies View RelatedCould someone please help me by explaining which one is best to use and when? For example, storing the word "Corona Del Mar" - which Data Type would be suggested?
Thanks.
Hi I have a table, which contains Char and NChar NOT NULL columns
Now I need to change it to NULL, when I use the following command, it fails for the following error,
The command I used,
ALTER TABLE <TableName>
ALTER COLUMN <ColName> CHAR NULL
ALTER TABLE <TableName>
ALTER COLUMN <ColName> NCHAR NULL
Msg 8152, Level 16, State 13, Line 1
String or binary data would be truncated.
The statement has been terminated.
But for the same table, the below command executes fine,
ALTER TABLE <TableName>
ALTER COLUMN <ColName> SMALLINT NULL
Also I can change the NULLABILITY from NOTNULL to NULL using Enterprise Manger, editing the table using Table Design and selecting Allow Nulls option.
I need a script to accomplish this task.
Any help would be greatly appreciated.
-Senthil
Hi,
We are in process of converting all of the data type of the fields from CHAR/VARCHAR/TEXT into NCHAR/NVARCHAR/NTEXT (DBCS). Having more than 900 store procedure its look like real pain to make modification in all of the SPs.
After failed to find any help from GOOGLE, I am posting this request. I am basically looking for any automated tool which are convert data type in SP based on the field of the table used in the SP. Or at least which can provide me some sort of list which can helpful for doing manual reactoring.
PLEASE HELP ME!!!
Thanks,
Firoz Ansari
Hi All:
I am new to Sql 2000 database,Now I'm planing to create a table in my databse,my table included below fields like this :
PoNo(the length is 15 characters) ,Supplier Name(the length is 50 characters).etc
but I don't how to select the datatype for them. should I select Char or VarChar ?
which one is the best slection ?
thans in advanced!
#1 This stored procedure can be used to search and replace substring in the char, nchar, varchar and nvarchar columns in all tables in the current database. You should pass the text value to search and the text value to replace. So, to replace all char, nchar, varchar and nvarchar columns which contain the substring 'John' with the substring 'Bill', you can use the following (in comparison with the SetTbColValues stored procedure, this stored procedure replace only substring, not the entire column's value):
EXEC replace_substring @search_value = 'John', @replace_value = 'Bill'
Hi
This is my first post !
I have a database running on SQL server. It's setup as a publication and replicated to a subscriber by a pull subscription.
All my records seem to replicate accross - all new additions and deletions work fine as do most updates.
The problem is I have two fields - both declared as nvchar that do not replicate - they do not update when the published database changes.
Has anyone got any ideas what may be causing this.
thanks
how to convert vchar value to int.
Thanks
I loaded a vchar column using script trans (SSIS doesn't support XML data types :/) to format the XML data properly. Since the XML data in the vchar column was not encoded, when I try to alter the vchar column to xml after the table is loaded it fails. I assume this is because the parser is having trouble with the content of the data within the xml tags.
This is how I coded the XML rather than using a xml method. "true" places the element end tag.
newXML += FormatElement("CONFERENCE") _
+ FormatElement("NAME") + ConvertToESC(RTrim(Mid(Row.activity, 1, 34))) _
+ FormatElement("NAME", True) _
+ FormatElement("START_DATE") + ConvertToESC(RTrim(Mid(Row.activity, 35, 8))) _
+ FormatElement("START_DATE", True) _
+ FormatElement("END_DATE") + ConvertToESC(RTrim(Mid(Row.activity, 43, 8))) _
+ FormatElement("END_DATE", True) _
+ FormatElement("CONFERENCE", True)
My question is, can I either load the data, using T-SQL, into an XML data type from a vchar column or is there a way to alter the type from vchar to xml without encountering the following parsing error?
Msg 9421, Level 16, State 1, Line 1
XML parsing: line 1, character 64, illegal name character
Thanks for any suggestions!
James
Hi,
alter PROCEDURE [dbo].[PPUpdateIWDetails]
(
@CompanyID NVARCHAR(36),
@DivisionID NVARCHAR(36),
@DepartmentID NVARCHAR(36),
@ItemID NVARCHAR(36),
@OrderNo NVARCHAR(36),
@LineNo NVARCHAR(36),
@TAllotedQty Numeric,
@EmployeeID NVARCHAR(36),
@Trndate datetime
)
AS
BEGIN
By default iam passing 12 char itemid as parameter...
Here iam selecting the itemid from InventoryLedger -if it is 8 char than this query should be executed
IF EXISTS(SELECT ItemID FROM InventoryLedger WHERE TransDate=@Trndate AND ItemID=@ItemID AND ILLineNumber =@LineNo AND TransNumber=@OrderNo AND TransactionType='Production' AND CompanyID=@CompanyID AND DivisionID= @DivisionID AND DepartmentID=@DepartmentID)
BEGIN
DECLARE @Qty INT
select @Qty =QUANTITY from inventoryledger WHERE TransDate=@Trndate AND ItemID=@ItemID AND ILLineNumber =@LineNo AND TransNumber=@OrderNo AND TransactionType='Production' AND CompanyID=@CompanyID AND DivisionID= @DivisionID AND DepartmentID=@DepartmentID
select qtyonhand=qtyonhand+@Qty from InventoryByWareHouse where ItemID=@ItemID
END
Here iam selecting the itemid from InventoryLedger -if it is 12 char than this query should be executed(both queries are same)
IF EXISTS(SELECT ItemID FROM InventoryLedger WHERE TransDate=@Trndate AND ItemID=@ItemID AND ILLineNumber =@LineNo AND TransNumber=@OrderNo AND TransactionType='Production' AND CompanyID=@CompanyID AND DivisionID= @DivisionID AND DepartmentID=@DepartmentID)
BEGIN
DECLARE @Qty INT
select @Qty =QUANTITY from inventoryledger WHERE TransDate=@Trndate AND ItemID=@ItemID AND ILLineNumber =@LineNo AND TransNumber=@OrderNo AND TransactionType='Production' AND CompanyID=@CompanyID AND DivisionID= @DivisionID AND DepartmentID=@DepartmentID
select qtyonhand=qtyonhand+@Qty from InventoryByWareHouse where ItemID=@ItemID
END
Is it
possible in SQL 2005 to determine to which language symbol nchar(1) is
referred?
If
languages differ greatly, say, like Russian and English, can one write a function,
which, under the given alphabet, can determine to what language the symbol
belongs?
If the
languages have a similar alphabet, one is faced with the difficulties. For
example, it is needed to distinguish characters of American English from those
of Australian English or of English from those of any other European language
that uses almost the same alphabet. I don€™t know how to solve this problem.
What can you advise?
The final task
is to scan in Internet a great number of Web pages in various languages and to
make up a large dictionary, where each word will be entered in its language
group. It is in principle too important to select words in different languages
that use the same alphabet. Initial data for word selection will enter the
server in NTEXT format.
Yuri,
Hi i've a staging table were i have datatypes of nchar.
I'd like to convert these to money datatype
Am trying to do this like this but the data return is not correct there is aslo null and blank rows so i must account for them also.
select cast(IsNumeric((Value2)) as money)
fromtbl_Sales
Hi,
I selected the columns which i need in the data source itself and i need 3 columns,one will direclty go to the destination without any change/transformation and about the other two i need to do few lookups.
When i try to do lookup for One column which has the datatype in the source as nchar(3) though the date in the column is a number(like 150,160,170 and so on), my lookup table(a dimension in DW) where i want to get the actual key by looking up with this number doesnt allow me to map to the dimension in the DW, as the Dimension has this column datatype as decimal (3,0)....i tried the datatype conversion to convert the nchar to decimal but it doesnt transform i dont know why...probably i am doing some mistake...Could someone suggest how to deal with this and which transformation to use..?
I'd really appreciate if someone on this forum suggest how to deal with this..?
thanks
ravi
Nothing much that i can do..!!
Hi ,
I have a column in my extract table as nchar(3) and in the destination (the same column with diff name ) it is decimal(3,0) .....i tried to use dataconversion transformation.....i even tried to use cast/convert fn's in the SQL Command (which i use in the "Source Transformation" to get the columns from the extract table).
I tried all the ways i can and still i get the same error..:
[OLE DB Source [1]] Error: SSIS Error Code DTS_E_OLEDBERROR.
An OLE DB error has occurred. Error code: 0x80040E07. An OLE
DB record is available. Source: "Microsoft OLE DB Provider
for SQL Server" Hresult: 0x80040E07 Description: "Error
converting data type nvarchar to numeric.".
Can we actually do it...?? any help would be appreciated.
thanks
ravi
Nothing much that i can do..!!
When we send a message in service broker we send nchar(0xFEFF) in the start of the xml file.
What is the meaning of nchar(0xFEFF)?
Thank you.
Bishoy
Hi i've a staging table were i have datatypes of nchar.
I'd like to convert these to money datatype
Am trying to do this like this but the data return is not correct there is aslo null and blank rows so i must account for them also.
select cast(IsNumeric((Value2)) as money)
from tbl_Sales
Hi,
I am working on an application that uses accent characters.
SELECT nchar(256) returns A. But if I do
SELECT Unicode(A) , then it returns 65 i.e. the value for simple 'A' character. I am confused, because I have data in nvarchar fields,
but when I do string comparison then A and A are treated as equal.
Please let me know, what could be the issue.
Thanks
When I tried to insert armenian by doing the following
insert into tablex (field1) values (N'testdata')
it does not display in query analyzer or in the database as armenian.
When I copy this to word it does not convert it.
What else am I supposed to do to get that information to redisplay the correct way and I would appreciate any tutorials or samples you can show or direct me to.
Howard
Hey there :)Sorry if I'm asking a dumb question here, but I'm still quite new to MS SQL,so this problem might appear larger to me than it really is.I'm trying to create a performance test environment for a Ruby on Rails andMongrel setup with an MS SQL Server 2000.The adapter, mssqlclient, uses some kind of "conversion" for unicode, here'sa quote from the homepage:"Automatically translate from proper UTF-16LE nvarchar fields in thedatabase to UTF-8 Ruby Strings you can display in your application"As far as the local DB designer knows, we're not using UTF16-LE nvarcharfields, unless it's something that happens implicitly.Either way, this is how a query from the mssqlclient adapter might look:SELECT TOP 1 * FROM Item WHERE (Item.Itemnumber = N'45783745')Response time the first couple of times was upwards of 20+ seconds, afterthe sql server has "awaken from its slumber", it's roughly 4 seconds.Omitting the "N" from the WHERE clause, response time is in milliseconds (asone would expect, regardless of the fact that there's currently >2.5million items in the table).Any tips on how to resolve this? Is the SQL statement bad, or is it aquestion of configuring SQL Server correctly?Thanks in advance for any help,Daniel Buus :)--http://www.rhesusb.dk
View 2 Replies View RelatedI'm using replace in a stored procedure to eliminate carriage returnsa user might have entered in an Access field.The problem is that even though it seems to strip out the carriagereturn I can't get rid of the "□" character.This is my code:DECLARE @myReturn nvarchar(1)SELECT @myReturn = NCHAR(10)REPLACE(UserAddress,@myReturn,' ') AS myTEXTFor example, the user has entered:123 Oak StreetSuite 101What I get after running the replace is: 123 Oak Street □ Suite101lq
View 2 Replies View RelatedHi ,
I have a column in my extract table as nchar(3) and in the destination (the same column with diff name ) it is decimal(3,0) .....i tried to use dataconversion transformation.....i even tried to use cast/convert fn's in the SQL Command (which i use in the "Source Transformation" to get the columns from the extract table).
I tried all the ways i can and still i get the same error..:
[OLE DB Source [1]] Error: SSIS Error Code DTS_E_OLEDBERROR.
An OLE DB error has occurred. Error code: 0x80040E07. An OLE
DB record is available. Source: "Microsoft OLE DB Provider
for SQL Server" Hresult: 0x80040E07 Description: "Error
converting data type nvarchar to numeric.".
Can we actually do it...?? any help would be appreciated.
thanks
ravi
Hi
How can I check whether an nchar column contains Arabic character set? The only allowed values that can go into this column are English and Arabic.
Thanks,
Salman Shehbaz.
I create two tables:
create table table1
(
col1 char(1)
)
go
create table table2
(
col2 char(2)
)
go
I add some records to two tables after createing operation completed.
Then i use dbcc page command to oversee the structures of data page in two tables.
I found some interest things:
The rows in two tabes take up same space:9 bytes
You can see the "9" on top of the data, for example:Slot 0, Offset 0x60, Length 9, DumpStyle BYTE
or calculate from the offset array
Any suggestions?
/* INFO USED HERE WAS TAKEN FROM http://support.microsoft.com/default.aspx?scid=kb;en-us;262499 */
DECLARE @X VARCHAR(10)
DECLARE @ParmDefinition NVARCHAR(500)
DECLARE @Num_Members SMALLINT
SELECT @X = 'x.dbo.v_NumberofMembers'
DECLARE @SQLString AS VARCHAR(500)
SET @SQLString = 'SELECT @Num_MembersOUT=Num_Members FROM @DB'
SET @ParmDefinition = '@Num_MembersOUT SMALLINT OUTPUT'
EXECUTE sp_executesql <-LINE 11
@SQLString,
@ParmDefinition,
@DB = @X,
@Num_MembersOUT = @Num_Members OUTPUT
Just Need Help On This Error
Server: Msg 214, Level 16, State 2, Procedure sp_executesql, Line 11
Procedure expects parameter '@statement' of type 'ntext/nchar/nvarchar'.
I dont know why im getting a errrror b/c I followed http://support.microsoft.com/default.aspx?scid=kb;en-us;262499 exactly
Sql Server uses bit field for boolean while Access uses Y/N. What are the pros and cons of either way? Thanks.
View 14 Replies View RelatedWhat does it mean char(13) and char(10) when I use this in my sql code
ali
I am importing a table where I need to convert a char(1) with thevalues of 't' or 'f' into a bit field with valies of 1 or 0. Is therea built-in function that does that? I've been searching, but I can'tfind an answer.
View 6 Replies View RelatedHi, I am trying to write some simple SQL to join two fields within a table, the primary key is an int and the other field is a varchar. But i am receiving the error:'Conversion failed when converting the varchar value ',' to data type int.The SQL I am trying to use is:select game_no + ',' + team_name as matchfrom result Thanks
View 2 Replies View Related