Data Types (char, Varchar, Nchar, Nvarchar, ...)
Jul 27, 2007Could 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.
Could 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,
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 RelatedHi,
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!
What 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 RelatedI am coming to SQL Server from Access and using it mostly for making ASP.NET web apps.
I am not sure I correctly understand the characteristics of the varchar data type and I'm so far unable to find a basic explanation.
It seems that the benefit of this data type is that the actual disk storage involved varies according to what is in a given record's column. So for a column defined as varchar(500), a record where the column uses all 500 characters will use more bytes on disk than a record where the column uses only one.
This would seem to imply that unless there were some reason to limit the characters allowed into a column, it would be an advantage to define large columns, say varchar(8000), especially for memo type fields, or fields such as addresses where it seems like clients are always asking for more space as time passes.
Is this right? Is there any downside to defining large varchar columns assuming they do not conflict with business rules?
Many thanks
Mike Thomas
I am trying to create a store procedure inside of SQL Management Studio console and I kept getting errors. Here's my store procedure.
Code Block
CREATE PROCEDURE [dbo].[sqlOutlookSearch]
-- Add the parameters for the stored procedure here
@OLIssueID int = NULL,
@searchString varchar(1000) = NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
IF @OLIssueID <> 11111
SELECT * FROM [OLissue], [Outlook]
WHERE [OLissue].[issueID] = @OLIssueID AND [OLissue].[issueID] = [Outlook].[issueID] AND [Outlook].[contents] LIKE + ''%'' + @searchString + ''%''
ELSE
SELECT * FROM [Outlook]
WHERE [Outlook].[contents] LIKE + ''%'' + @searchString + ''%''
END
And the error I kept getting is:
Msg 402, Level 16, State 1, Procedure sqlOutlookSearch, Line 18
The data types varchar and varchar are incompatible in the modulo operator.
Msg 402, Level 16, State 1, Procedure sqlOutlookSearch, Line 21
The data types varchar and varchar are incompatible in the modulo operator.
Any help is appreciated.
Hello,
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.
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
I am working on a survey system with another DB Engineer.Our current design includes 1 table per Question Type (Numeric, Boolean, Text), Response values are tightly coupled based on data being entered, to keep things simple assume there are only 6 tables in this this system (1 for each Question Type to define the "rules" of the data entered, and 1 for each Response collection).He is a former .Net programmer and has been talking with the .Net guys on the project and he is proposing that we abstract our Question Types to use one table and store the Input Values all as nvarchar(max).This obviously simplifies the DB design and reduces the amount of work I will need to do so I should be all for it. I guess I am a little concerned that we are no longer tightly coupling the data types and essentially leaving all the validation up to the application. Also should I be worried that a bunch of bit data will be stored as 1/0 in an nvarchar(max) column?Thanks,-John
View 13 Replies View RelatedWhen 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
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
The following is the full error message. I am posting the code after.
Server Error in '/XprtDr' Application.
The data types text and nvarchar are incompatible in the equal to operator.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: The data types text and nvarchar are incompatible in the equal to operator.Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace:
[SqlException (0x80131904): The data types text and nvarchar are incompatible in the equal to operator.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +95
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +82
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +346
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +3244
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +186
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1121
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +334
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +407
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +149
System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +493
System.Web.UI.WebControls.SqlDataSourceView.ExecuteUpdate(IDictionary keys, IDictionary values, IDictionary oldValues) +915
System.Web.UI.DataSourceView.Update(IDictionary keys, IDictionary values, IDictionary oldValues, DataSourceViewOperationCallback callback) +179
System.Web.UI.WebControls.FormView.HandleUpdate(String commandArg, Boolean causesValidation) +1197
System.Web.UI.WebControls.FormView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +545
System.Web.UI.WebControls.FormView.OnBubbleEvent(Object source, EventArgs e) +163
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +56
System.Web.UI.WebControls.FormViewRow.OnBubbleEvent(Object source, EventArgs e) +118
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +56
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +106
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +177
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +242
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3838
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42
--------------------------------------------------------------------------------------------------------------------------
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="CompanyDetails.aspx.vb" Inherits="CompanyDetails" %>
<%@ Register Assembly="EasyListBox" Namespace="ELB" TagPrefix="ELB" %>
<!--
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If User.Identity.IsAuthenticated = False Then
Server.Transfer("login.aspx")
Else
Me.uId.Text = Membership.GetUser().ToString()
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:TextBox ID="uId" runat="server" Style="z-index: 100; left: 456px; position: absolute;
top: 512px" Visible="False" Width="4px"></asp:TextBox>
<table style="z-index: 101; left: 24px; width: 572px; position: absolute; top: 44px;
height: 404px">
<tr>
<td style="width: 2px; height: 10px">
</td>
<td style="width: 651px; height: 10px">
</td>
<td style="width: 5px; height: 10px">
</td>
</tr>
<tr>
<td style="width: 2px; height: 435px">
</td>
<td style="width: 651px; height: 435px">
<asp:FormView ID="FormView1" runat="server" BackColor="White" BorderColor="#DEDFDE"
BorderStyle="None" BorderWidth="1px" CellPadding="4" DataKeyNames="indexNo" DataSourceID="CompanyDetails_MainForm"
ForeColor="Black" GridLines="Vertical" Height="500px" Style="z-index: 32; left: 12px;
position: absolute; top: 28px" Width="600px">
<FooterStyle BackColor="#CCCC99" />
<EditRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<EditItemTemplate>
<asp:Label ID="TitleLabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 20px" Text='Name:' Width="100px" ></asp:Label>
<asp:label ID="TitleTextBox" runat="server" Style=" z-index: 100; left: 120px; position: absolute;
top: 20px" Text='<%# Bind("Title") %>' Width="450px"></asp:label>
<asp:Label ID="YearEstLabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 50px" Text='Established:' Width="100px" ></asp:Label>
<asp:TextBox ID="yearEstTextBox" runat="server" Style="z-index: 100; left: 120px; position: absolute;
top: 50px" Text='<%# Bind("yearEst") %>' Width="50px" ></asp:TextBox>
<asp:Label ID="EmployeeCountLabelEdit" runat="server" Style="z-index: 100; left: 375px; position: absolute;
top: 50px" Text='No. of Employees:' Width="140px" ></asp:Label>
<asp:TextBox ID="employeeCountTextBox" runat="server" Style="z-index: 100; left: 535px; position: absolute;
top: 50px" Text='<%# Bind("employeeCount") %>' Width="35px" ></asp:TextBox>
<asp:Label ID="Address1LabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 80px" Text='Address:' Width="100px" ></asp:Label>
<asp:TextBox ID="Address_1TextBox" runat="server" Style="z-index: 100; left: 120px; position: absolute;
top: 80px" Width="450px" Text='<%# Bind("Address_1") %>'></asp:TextBox>
<asp:Label ID="Address2LabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 110px" Text='Address2:' Width="100px" ></asp:Label>
<asp:Label ID="Adress2OptionalLabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 125px" Text='(Optional):' Width="100px" ></asp:Label>
<asp:TextBox ID="Address_2TextBox" runat="server" Style="z-index: 100; left: 120px; position: absolute;
top: 110px" Width="450px" Text='<%# Bind("Address_2") %>'></asp:TextBox>
<asp:Label ID="ContactsLabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 160px" Text='Contacts:' Width="100px" ></asp:Label>
<asp:TextBox ID="ContactsTextBox" runat="server" Style="z-index: 100; left: 120px; position: absolute;
top: 160px" Width="450px" Text='<%# Bind("Contacts") %>'></asp:TextBox>
<asp:Label ID="TelNosLabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 190px" Text='Telephone Nos.:' Width="115px" ></asp:Label>
<asp:TextBox ID="TelNosTextBox" runat="server" Style="z-index: 100; left: 120px; position: absolute;
top: 190px" Width="450px" Text='<%# Bind("TelNos") %>'></asp:TextBox>
<asp:Label ID="FaxNosLabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 220px" Text='Fax Nos.:' Width="100px" ></asp:Label>
<asp:TextBox ID="FaxNosTextBox" runat="server" Style="z-index: 100; left: 120px; position: absolute;
top: 220px" Width="450px" Text='<%# Bind("FaxNos") %>'></asp:TextBox>
<asp:Label ID="EmailLabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 250px" Text='E-mail:' Width="100px" ></asp:Label>
<asp:TextBox ID="emailAddressesTextBox" runat="server" Style="z-index: 100; left: 120px; position: absolute;
top: 250px" Width="450px" Text='<%# Bind("emailAddresses") %>'></asp:TextBox><br />
<asp:Label ID="WebsiteLabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 280px" Text='Website:' Width="100px" ></asp:Label>
<asp:TextBox ID="WebsiteTextBox" runat="server" Style="z-index: 100; left: 120px; position: absolute;
top: 280px" Width="450px" Text='<%# Bind("Website") %>'></asp:TextBox>
<asp:Label ID="ManufacturingSectorLabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 310px" Text='Manufacturing' Width="100px" ></asp:Label>
<asp:Label ID="ManufacturingSubSectorsLabel2Edit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 325px" Text='Sub-sectors:' Width="100px" ></asp:Label>
<asp:Label ID="ServicesSubSectorsLabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 355px" Text='Services' Width="100px" ></asp:Label>
<asp:Label ID="ServicesSubSectorsLabel2Edit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 370px" Text='Sub-sectors:' Width="100px" ></asp:Label>
<asp:Label ID="ImportSourcesLabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 390px" Text='Import Sources:' Width="100px" ></asp:Label>
<asp:Label ID="ExportDestinationsLabelEdit" runat="server" Style="z-index: 100; left: 5px; position: absolute;
top: 420px" Text='Export Destinations:' Width="100px" ></asp:Label>
<asp:LinkButton ID="UpdateButton" runat="server" style="z-index: 100;left: 5px; position:absolute; top: 460px" CausesValidation="True" CommandName="Update"
Text="Update"></asp:LinkButton>
<asp:LinkButton ID="UpdateCancelButton" runat="server" style="z-index: 100;left: 70px; position:absolute; top: 460px" CausesValidation="False" CommandName="Cancel"
Text="Cancel"></asp:LinkButton>
</EditItemTemplate>
<RowStyle BackColor="#F7F7DE" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<InsertItemTemplate>
indexNo:
<asp:TextBox ID="indexNoTextBox" runat="server" Text='<%# Bind("indexNo") %>'>
</asp:TextBox><br />
userName:
<asp:TextBox ID="userNameTextBox" runat="server" Text='<%# Bind("userName") %>'>
</asp:TextBox><br />
Title:
<asp:TextBox ID="TitleTextBox" runat="server" Text='<%# Bind("Title") %>'>
</asp:TextBox><br />
yearEst:
<asp:TextBox ID="yearEstTextBox" runat="server" Text='<%# Bind("yearEst") %>'>
</asp:TextBox><br />
employeeCount:
<asp:TextBox ID="employeeCountTextBox" runat="server" Text='<%# Bind("employeeCount") %>'>
</asp:TextBox><br />
Address_1:
<asp:TextBox ID="Address_1TextBox" runat="server" Text='<%# Bind("Address_1") %>'>
</asp:TextBox><br />
Address_2:
<asp:TextBox ID="Address_2TextBox" runat="server" Text='<%# Bind("Address_2") %>'>
</asp:TextBox><br />
Contacts:
<asp:TextBox ID="ContactsTextBox" runat="server" Text='<%# Bind("Contacts") %>'>
</asp:TextBox><br />
TelNos:
<asp:TextBox ID="TelNosTextBox" runat="server" Text='<%# Bind("TelNos") %>'>
</asp:TextBox><br />
FaxNos:
<asp:TextBox ID="FaxNosTextBox" runat="server" Text='<%# Bind("FaxNos") %>'>
</asp:TextBox><br />
emailAddresses:
<asp:TextBox ID="emailAddressesTextBox" runat="server" Text='<%# Bind("emailAddresses") %>'>
</asp:TextBox><br />
Website:
<asp:TextBox ID="WebsiteTextBox" runat="server" Text='<%# Bind("Website") %>'>
</asp:TextBox><br />
ManufacturingSubSectors_id:
<asp:TextBox ID="ManufacturingSubSectors_idTextBox" runat="server" Text='<%# Bind("ManufacturingSubSectors_id") %>'>
</asp:TextBox><br />
ServicesSubSectors_id:
<asp:TextBox ID="ServicesSubSectors_idTextBox" runat="server" Text='<%# Bind("ServicesSubSectors_id") %>'>
</asp:TextBox><br />
ExportDestinations_id:
<asp:TextBox ID="ExportDestinations_idTextBox" runat="server" Text='<%# Bind("ExportDestinations_id") %>'>
</asp:TextBox><br />
ImportSources_id:
<asp:TextBox ID="ImportSources_idTextBox" runat="server" Text='<%# Bind("ImportSources_id") %>'>
</asp:TextBox><br />
<asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
Text="Insert">
</asp:LinkButton>
<asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
Text="Cancel">
</asp:LinkButton>
</InsertItemTemplate>
<ItemTemplate>
Title:
<asp:Label ID="TitleLabel" runat="server" Text='<%# Bind("Title") %>'></asp:Label><br />
yearEst:
<asp:Label ID="yearEstLabel" runat="server" Text='<%# Bind("yearEst") %>'></asp:Label><br />
employeeCount:
<asp:Label ID="employeeCountLabel" runat="server" Text='<%# Bind("employeeCount") %>'></asp:Label><br />
Address_1:
<asp:Label ID="Address_1Label" runat="server" Text='<%# Bind("Address_1") %>'></asp:Label><br />
Address_2:
<asp:Label ID="Address_2Label" runat="server" Text='<%# Bind("Address_2") %>'></asp:Label><br />
Contacts:
<asp:Label ID="ContactsLabel" runat="server" Text='<%# Bind("Contacts") %>'></asp:Label><br />
TelNos:
<asp:Label ID="TelNosLabel" runat="server" Text='<%# Bind("TelNos") %>'></asp:Label><br />
FaxNos:
<asp:Label ID="FaxNosLabel" runat="server" Text='<%# Bind("FaxNos") %>'></asp:Label><br />
emailAddresses:
<asp:Label ID="emailAddressesLabel" runat="server" Text='<%# Bind("emailAddresses") %>'></asp:Label><br />
Website:
<asp:Label ID="WebsiteLabel" runat="server" Text='<%# Bind("Website") %>'></asp:Label><br />
ManufacturingSubSectors_id:
<asp:Label ID="ManufacturingSubSectors_idLabel" runat="server" Text='<%# Bind("ManufacturingSubSectors_id") %>'></asp:Label><br />
ServicesSubSectors_id:
<asp:Label ID="ServicesSubSectors_idLabel" runat="server" Text='<%# Bind("ServicesSubSectors_id") %>'></asp:Label><br />
ExportDestinations_id:
<asp:Label ID="ExportDestinations_idLabel" runat="server" Text='<%# Bind("ExportDestinations_id") %>'></asp:Label><br />
ImportSources_id:
<asp:Label ID="ImportSources_idLabel" runat="server" Text='<%# Bind("ImportSources_id") %>'></asp:Label><br />
<asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit"
Text="Edit"></asp:LinkButton>
</ItemTemplate>
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
</asp:FormView>
<asp:SqlDataSource ID="CompanyDetails_MainForm" runat="server" ConflictDetection="CompareAllValues"
ConnectionString="<%$ ConnectionStrings:ConnectionString_companyDetails %>" DeleteCommand="DELETE FROM [companyDetails] WHERE [indexNo] = @original_indexNo AND [userName] = @original_userName AND [Title] = @original_Title AND [yearEst] = @original_yearEst AND [employeeCount] = @original_employeeCount AND [Address_1] = @original_Address_1 AND [Address_2] = @original_Address_2 AND [Contacts] = @original_Contacts AND [TelNos] = @original_TelNos AND [FaxNos] = @original_FaxNos AND [emailAddresses] = @original_emailAddresses AND [Website] = @original_Website AND [ManufacturingSubSectors_id] = @original_ManufacturingSubSectors_id AND [ServicesSubSectors_id] = @original_ServicesSubSectors_id AND [ExportDestinations_id] = @original_ExportDestinations_id AND [ImportSources_id] = @original_ImportSources_id"
InsertCommand="INSERT INTO [companyDetails] ([indexNo], [userName], [Title], [yearEst], [employeeCount], [Address_1], [Address_2], [Contacts], [TelNos], [FaxNos], [emailAddresses], [Website], [ManufacturingSubSectors_id], [ServicesSubSectors_id], [ExportDestinations_id], [ImportSources_id]) VALUES (@indexNo, @userName, @Title, @yearEst, @employeeCount, @Address_1, @Address_2, @Contacts, @TelNos, @FaxNos, @emailAddresses, @Website, @ManufacturingSubSectors_id, @ServicesSubSectors_id, @ExportDestinations_id, @ImportSources_id)"
OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT [indexNo], [userName], [Title], [yearEst], [employeeCount], [Address_1], [Address_2], [Contacts], [TelNos], [FaxNos], [emailAddresses], [Website], [ManufacturingSubSectors_id], [ServicesSubSectors_id], [ExportDestinations_id], [ImportSources_id] FROM [companyDetails] WHERE ([userName] = @userName)"
UpdateCommand="UPDATE [companyDetails] SET [yearEst] = @yearEst, [employeeCount] = @employeeCount, [Address_1] = @Address_1, [Address_2] = @Address_2, [Contacts] = @Contacts, [TelNos] = @TelNos, [FaxNos] = @FaxNos, [emailAddresses] = @emailAddresses, [Website] = @Website, [ManufacturingSubSectors_id] = @ManufacturingSubSectors_id, [ServicesSubSectors_id] = @ServicesSubSectors_id, [ExportDestinations_id] = @ExportDestinations_id, [ImportSources_id] = @ImportSources_id WHERE [indexNo] = @original_indexNo AND [userName] = @original_userName AND [Title] = @original_Title AND [yearEst] = @original_yearEst AND [employeeCount] = @original_employeeCount AND [Address_1] = @original_Address_1 AND [Address_2] = @original_Address_2 AND [Contacts] = @original_Contacts AND [TelNos] = @original_TelNos AND [FaxNos] = @original_FaxNos AND [emailAddresses] = @original_emailAddresses AND [Website] = @original_Website AND [ManufacturingSubSectors_id] = @original_ManufacturingSubSectors_id AND [ServicesSubSectors_id] = @original_ServicesSubSectors_id AND [ExportDestinations_id] = @original_ExportDestinations_id AND [ImportSources_id] = @original_ImportSources_id">
<DeleteParameters>
<asp:Parameter Name="original_indexNo" Type="Int32" />
<asp:Parameter Name="original_userName" Type="String" />
<asp:Parameter Name="original_Title" Type="String" />
<asp:Parameter Name="original_yearEst" Type="Int32" />
<asp:Parameter Name="original_employeeCount" Type="Int32" />
<asp:Parameter Name="original_Address_1" Type="String" />
<asp:Parameter Name="original_Address_2" Type="String" />
<asp:Parameter Name="original_Contacts" Type="String" />
<asp:Parameter Name="original_TelNos" Type="String" />
<asp:Parameter Name="original_FaxNos" Type="String" />
<asp:Parameter Name="original_emailAddresses" Type="String" />
<asp:Parameter Name="original_Website" Type="String" />
<asp:Parameter Name="original_ManufacturingSubSectors_id" Type="String" />
<asp:Parameter Name="original_ServicesSubSectors_id" Type="String" />
<asp:Parameter Name="original_ExportDestinations_id" Type="String" />
<asp:Parameter Name="original_ImportSources_id" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="userName" Type="String" />
<asp:Parameter Name="Title" Type="String" />
<asp:Parameter Name="yearEst" Type="Int32" />
<asp:Parameter Name="employeeCount" Type="Int32" />
<asp:Parameter Name="Address_1" Type="String" />
<asp:Parameter Name="Address_2" Type="String" />
<asp:Parameter Name="Contacts" Type="String" />
<asp:Parameter Name="TelNos" Type="String" />
<asp:Parameter Name="FaxNos" Type="String" />
<asp:Parameter Name="emailAddresses" Type="String" />
<asp:Parameter Name="Website" Type="String" />
<asp:Parameter Name="ManufacturingSubSectors_id" Type="String" />
<asp:Parameter Name="ServicesSubSectors_id" Type="String" />
<asp:Parameter Name="ExportDestinations_id" Type="String" />
<asp:Parameter Name="ImportSources_id" Type="String" />
<asp:Parameter Name="original_indexNo" Type="Int32" />
<asp:Parameter Name="original_userName" Type="String" />
<asp:Parameter Name="original_Title" Type="String" />
<asp:Parameter Name="original_yearEst" Type="Int32" />
<asp:Parameter Name="original_employeeCount" Type="Int32" />
<asp:Parameter Name="original_Address_1" Type="String" />
<asp:Parameter Name="original_Address_2" Type="String" />
<asp:Parameter Name="original_Contacts" Type="String" />
<asp:Parameter Name="original_TelNos" Type="String" />
<asp:Parameter Name="original_FaxNos" Type="String" />
<asp:Parameter Name="original_emailAddresses" Type="String" />
<asp:Parameter Name="original_Website" Type="String" />
<asp:Parameter Name="original_ManufacturingSubSectors_id" Type="String" />
<asp:Parameter Name="original_ServicesSubSectors_id" Type="String" />
<asp:Parameter Name="original_ExportDestinations_id" Type="String" />
<asp:Parameter Name="original_ImportSources_id" Type="String" />
</UpdateParameters>
<SelectParameters>
<asp:ControlParameter ControlID="uId" Name="userName" PropertyName="Text" Type="String" />
</SelectParameters>
<InsertParameters>
<asp:Parameter Name="indexNo" Type="Int32" />
<asp:Parameter Name="userName" Type="String" />
<asp:Parameter Name="Title" Type="String" />
<asp:Parameter Name="yearEst" Type="Int32" />
<asp:Parameter Name="employeeCount" Type="Int32" />
<asp:Parameter Name="Address_1" Type="String" />
<asp:Parameter Name="Address_2" Type="String" />
<asp:Parameter Name="Contacts" Type="String" />
<asp:Parameter Name="TelNos" Type="String" />
<asp:Parameter Name="FaxNos" Type="String" />
<asp:Parameter Name="emailAddresses" Type="String" />
<asp:Parameter Name="Website" Type="String" />
<asp:Parameter Name="ManufacturingSubSectors_id" Type="String" />
<asp:Parameter Name="ServicesSubSectors_id" Type="String" />
<asp:Parameter Name="ExportDestinations_id" Type="String" />
<asp:Parameter Name="ImportSources_id" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
</td>
<td style="width: 5px; height: 435px">
</td>
</tr>
<tr>
<td style="width: 2px">
</td>
<td style="width: 651px">
</td>
<td style="width: 5px">
</td>
</tr>
</table>
</form>
</body>
</html>
#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, i have a table in sqlexpress named Contacts:
ID (int) -primary key-
name (varchar(30))
lastname (varchar(30))
phone (varchar(15))
fax (varchar(15))
desc (text)
In my default.aspx page, i have a GridView that has the conecction to this table. The GridView has the Editing and Deleting checkbox enabled but my problem is that i can't edit or delete any row when the page is running and the massage is this: "The data types text and nvarchar are incompatible in the equal to operator"
It would have to work, but i don't know what happen, Please, any help!
What are the drawbacks with using a varchar max datatype? varchar stretches on insert/edit to fit the required amount of data (yes/no), IM gussing this makes it slower? I don't think I can Avoid using this data type, but should I try to avoid its usage if possible,
View 2 Replies View RelatedHello,
I am trying to write a small dynamic sql statement and I am receiving the following error when working with a bit data type.
The data types varchar and bit are incompatible in the add operator
Here is what I have:
Code Snippet
create proc [dbo].[usp_SetupDatabaseUser]
(
@ProcAccess bit = 0
)
as
begin
set nocount on
declare @sql nvarchar(MAX)
-- Check for user existence
select @sql = 'if (' + @ProcAccess + ' = 1)
begin
print ''Hello World''
end'
exec @sql
end
After I execute, that is why I receive the error. Any advice would be appreciated!
Thanks,
Flea#
/* 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
There are a few databases I work with that have been designed where varchar columns are used to store what actually displays on the front end as Ints, Decimals, Varchars, Datetimes, checkboxes.
I often have to write integrations with these databases bringing data in and prefer to validate the data whilst loading from the staging tables.
I have seen allsorts of values being passed into the staging tables that will load into the target database because the columns are all varchars but the values don't display on the front end because the app actively filters bad values out.
What I would like to do is for my validation scripts to warn up front of potentially invalid datatypes. My problem is that forexample the ISNUMERIC() function return 1 for the value ',1234' but a CONVERT(NUMERIC, ',1234') or CAST(',1234' AS NUMERIC) will fail with a "Error converting data type varchar to numeric).
I've been trying to locate a set of reliable datatype testing functions that will reliably determine if a varchar can be converted to a given data type or not.
I am trying to solve an issue in SQL but am getting this error
The data types xml and varchar are incompatible in the equal to operator.
My Query is fairly long. How I can resolve this?
UPDATE Promotions
SET PromotionDiscountData = '<ArrayOfPromotionRuleBase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><PromotionRuleBase xsi:type="ProductIdPromotionRule"><ProductIds><int>13,16,15215,15223,15225,15227,15231,15261,15266,15267,15272,15274,15276,15277,15288,15289,
15290,15292,15293,15297,15299,15316,15329,15336,53787,53788,53789,55872,55873,55874</int></ProductIds>
[Code] ....
Hi,
If I make a select query on my table, this error appears:
"The data types text and varchar are incompatible in the equal to operator"
In my table , I have 4 fields with "text" datatype.
My query is like : "Select * from table where field1='test'"
It's seems to be simple, but it doesn't work!!!
Thanks
I have a table that contains a lot of demographic information. The data is usually small (<20 chars) but ocassionally needs to handle large values (250 chars). Right now its set up for varchar(max) and I don't think I want to do this.
How does varchar(max) store info differently from varchar(250)? Either way doesn't it have to hold the container information? So the word "Crackers" have 8 characters to it and information sayings its 8 characters long in both cases. This meaning its taking up same amount of space?
Also my concern will be running queries off of it, does a varchar(max) choke up queries because the fields cannot be properly analyzed? Is varchar(250) any better?
Should I just go with char(250) and watch my db size explode?
Usually the data that is 250 characters contain a lot of blank space that is removed using a SPROC so its not usually 250 characters for long.
Any insight to this would be appreciated.
I have used a query statement with the following WHERE string to 'Fill' a dataset.
"AND (A.ApptsDate > '" & strApptPreDate & "' OR (A.ApptsDate = '" & strApptPreDate & "' AND A.ApptsTime >= '" & strApptPreTime & "' ))" & _ and strApptPreTime is defined as:Dim strApptPreTime As String = SomaShared.strPadTime(CStr(dApptCalcNewDate.Hour) + ":" + CStr(dApptCalcNewDate.Minute))
Somehow, the dataset showed only the ApptsTime after 10 am. After more than 2 weeks of debugging, I still can see a dataset watch for > 10 amAppsTime only. Now I am guessting, the problem is 9 is different from 10 - 16, it all because 9 is single digit. Then I check the data type settings for these variables. Here are what I found:
In SQL Server Agent job, the ApptsTime data was 'inserted' by @NewApptTimes, which is declared as char(5).In SQL Server database, the ApptsTime was defined as nvarchar(15).
My question are: 1. The reason why there were no 9 am data for the dataset, is becasue 9 am of nvarchar(15) is not > 8:30 of strApptPreTime? 2. If the answer to the quation 1 is yes, how do I define AppsTime and/or strApptPreTime?
TIA,Jeffrey
SqlCeParameter.Size seems to be limited to 255 characters for char types.
Eg.
SqlCeParameter param = new SqlCeParameter();
param.ParameterName = parameter_name;
param.DbType = DbType.String;
param.Size = 260;
Now check the value of param.Size, it will be 255.
In the past this problem was avoidable by setting the size to 0. However, this cause a problem if you are re-using the same command and simply changing the parameters value.
Somewhere the system remembers the length of the first value and adjusts the max size to be limited to this length.
Thus for the following values:
"Test"
"Testing"
The second one will error with something like "@param: String truncation: max = 4, len = 7, value = 'testing' "
Has anyone else come across this problem, or found a solution to it?
Hi,
Does any body know of any performance implications of using 'varchar' data type against 'char'?
I have some columns that are using 'char' data type, but the data in them is not fixed length. So, to gain some disk space I am planning to change the data type to 'varchar'. But, I am concerned if there will be any performance de-gradation or any other implications of doing this.
Regards
Chakri
Hi,
Is that true that using CHAR datatype improves the performance comparing to VARCHAR
thanks
indeed.
Why would you want to use char when you have varchar? Is there any performance hit using a varchar and the size you make that varchar?
Debate going at work.
Phil
I have recently inherited a database where all of the tables use varchar instead of chars for fields. Very , very few of these fields are involved in keys of even indices, but performance is an issue. I thought that I had read that varchars are worse for performance than chars when page splits may occur. Is this related to updates only, or does it matter?
Any help appreciated.
In relation to the code in this thread
http://forums.databasejournal.com/showthread.php?t=42622
My customer code field is Char (8) but accept an argument of Varchar (8) to my stored procedure. Don't ask me why!?!!
The customer code could be anything from 'A' to 'ZZZZZZZZ'.
Will this have any effect especially relating to overhead and retrieving incorrect data?
Hi,
This question may sound silly,but please comment.
Please tell me a situation where char should be used and not varchar.
Let us assume that we are dealing with non unicode characters.
Well, I find varchar is always smarter than char, so why char?
Thanks!!
Rudra
i would like to know if there is an overhead in using VARCHAR when you use to store it...
a colleague of mine claims that if the field is defined to be VARCHAR the system creates and additional column DOUBLE/DECIMAL with storage size of 17/18bytes.
such that if the size of the varchar field is less than 30 it is better to be defined as CHAR instead.
please help me out here... i think there's something wrong with his statement, but i need concrete proof to it... a link to page or pdf file would be very much appreciated.
Greetings,I have a question. I work on some SQL2k/ASP.NET apps at work. Mypredacessor, who created the databases/tables seemed to have liked touse 'char' for all text fields. Is there a reason why he would havedone this over using varchar? It's a minor annoyance to always have toRTRIM data and it makes directly making changes to the database moreannoying (with all the pointless trailing spaces)?I usually use char for fixed string lengths, like state abbreviationsor something, and varchar for strings of unknown length.Is it a performance issue? Our database doesn't do much traffic, forthe most part.
View 5 Replies View Related