Меню

Ошибка при преобразовании типа данных nvarchar к bigint

  • Remove From My Forums
  • Question

  • Hi: I am getting this data conversion error while I am trying to insert one table into another existing table (appending data). I would really appreciate any assistance on this please.

    Thanks

Answers

  • Hi,

    You should list the columns in your SELECT statement in order of the INSERT columns list. But here you haven’t inserted any column. Also you can use a SELECT INFO statement. Therefore a table will be automatically created and you won’t have these problems.

    • Marked as answer by

      Friday, February 21, 2020 9:44 AM

  • Remove From My Forums
  • Question

  • Hi experts,

    I execute the next code:

    SELECT CAST(Order_Number AS bigint)
    FROM Orders 
    WHERE Order_Number IS NOT NULL
    AND ISNUMERIC(Order_Number) = 1
    AND Order_Number NOT LIKE ‘%-%’
    AND Order_Number NOT LIKE ‘%.%’

    And besides having all those checks, it falis with: ‘Error converting data type nvarchar to bigint.’

    How can I spot the row that is breaking this? The table has 1,000,000 rows, so I can’t look for it visually.

    Thanks in advance!!!

Answers

  • Using NOT LIKE ‘%[^0-9]%’ should exclude any OrderNumber that has any character other than ‘0’ through ‘9’.  Putting that in a CTE would certainly ensure that the NOT LIKE is true before trying the conversion, but it shouldn’t be trying the conversion
    on a record that will not be selected.  (If I know that I’m not going to select the record, why would I try to do work on it???)

    I’m wondering, do you need to CONVERT(BIGINT, 2147483647)??  Might it be trying to convert the BIGINT into an INT to do the comparison??  (Just a WAG, but I’ve seen stranger things…)

    HTH,

    Carl

    • Proposed as answer by

      Thursday, April 21, 2016 6:08 AM

    • Marked as answer by
      Sam ZhaMicrosoft contingent staff
      Saturday, April 30, 2016 2:47 AM

SqlZim already gave you a good method to avoid the error in his answer. However, in the question and in comments you seem curious as to why one query throws an error and the other does not. I am able to reproduce your issue:

CREATE TABLE dbo.X_BIGINT_TABLE (ID BIGINT NOT NULL);

INSERT INTO dbo.X_BIGINT_TABLE WITH (TABLOCK)
SELECT TOP (1000) ROW_NUMBER() OVER (ORDER BY (SELECT NULL))
FROM master..spt_values;

CREATE TABLE dbo.X_NVARCHAR_TABLE (ID_NV NVARCHAR(10) NOT NULL);

INSERT INTO dbo.X_NVARCHAR_TABLE WITH (TABLOCK)
SELECT TOP (999) CAST(ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS NVARCHAR(10))
FROM master..spt_values

UNION ALL

SELECT 'ZOLTAN';

This query works fine:

SELECT *
FROM dbo.X_BIGINT_TABLE BI 
INNER JOIN dbo.X_NVARCHAR_TABLE NV ON BI.ID = NV.ID_NV
WHERE ISNUMERIC(NV.ID_NV) = 1;

This query throws an error:

SELECT *
FROM (
    SELECT *
    FROM dbo.X_BIGINT_TABLE BI 
    INNER JOIN dbo.X_NVARCHAR_TABLE NV ON BI.ID = NV.ID_NV
    WHERE ISNUMERIC(NV.ID_NV) = 1
) ZZ 
WHERE ZZ.ID = 500;

Msg 8114, Level 16, State 5, Line 25

Error converting data type nvarchar to bigint.

The SQL Server query optimizer can reorder elements of a query as it sees fit to try to find a query plan with a good enough estimated cost, as long as the changes do not affect the final results of the query. To illustrate the concept lets walk through one possible way the second query can be refactored. To be clear, this is not the actual step-by-step process that the query optimizer goes through for this example. Start with the query:

SELECT *
FROM (
    SELECT *
    FROM dbo.X_BIGINT_TABLE BI 
    INNER JOIN dbo.X_NVARCHAR_TABLE NV ON BI.ID = NV.ID_NV
    WHERE ISNUMERIC(NV.ID_NV) = 1
) ZZ 
WHERE ZZ.ID = 500;

Push down the predicate:

SELECT *
FROM (
    SELECT *
    FROM dbo.X_BIGINT_TABLE BI 
    INNER JOIN dbo.X_NVARCHAR_TABLE NV ON BI.ID = NV.ID_NV
    WHERE BI.ID = 500 AND ISNUMERIC(NV.ID_NV) = 1
) ZZ;

The derived table is no longer needed so get rid of that:

SELECT *
FROM dbo.X_BIGINT_TABLE BI 
INNER JOIN dbo.X_NVARCHAR_TABLE NV ON BI.ID = NV.ID_NV
WHERE BI.ID = 500 AND ISNUMERIC(NV.ID_NV) = 1

We know that BI.ID = NV.ID_NV so we can apply the filter on Z.ID to NV.ID_NV as well:

SELECT *
FROM dbo.X_BIGINT_TABLE BI 
INNER JOIN dbo.X_NVARCHAR_TABLE NV ON BI.ID = NV.ID_NV
WHERE BI.ID = 500 AND ISNUMERIC(NV.ID_NV) = 1 AND NV.ID_NV = 500

The join no longer needs to be implemented as INNER JOIN because we are filtering down to a single value for both join columns. We can rewrite as a CROSS JOIN:

SELECT * 
FROM 
(
    SELECT *
    FROM dbo.X_BIGINT_TABLE BI 
    WHERE BI.ID = 500
) 
CROSS JOIN 
(
    SELECT *
    FROM dbo.X_NVARCHAR_TABLE NV
    WHERE ISNUMERIC(NV.ID_NV) = 1 AND NV.ID_NV = 500
);

If we look at the query plan for the second query we can tell that the end result is very similar to the final transformed query:

transformed query

Here is the text of the filter predicate for reference:

CONVERT_IMPLICIT(bigint,[SE_DB].[dbo].[X_NVARCHAR_TABLE].[ID_NV] as [NV].[ID_NV],0)=(500) 
AND isnumeric(CONVERT_IMPLICIT(varchar(20),[SE_DB].[dbo].[X_NVARCHAR_TABLE].[ID_NV] as [NV].[ID_NV],0))=(1)

If SQL Server evaluates the CONVERT_IMPLICIT part of the predicate before the isnumeric part then we get an error.

As a general rule, avoid relying on implied order of operations when writing SQL queries. You may have a query that works well today but starts to throw errors if data is added to the table or if a different query plan is chosen. There are, of course, exceptions (kind of). In practice, you will usually see the different parts of a CASE statement to evaluate in the order that you’ve written them, but even then it’s possible to get errors that you weren’t expecting. You can also add a superfluous TOP to parts of your query to encourage a certain order of operations. Consider the following query:

SELECT *
FROM (
    SELECT TOP (9223372036854775807) *
    FROM dbo.X_BIGINT_TABLE BI 
    INNER JOIN dbo.X_NVARCHAR_TABLE NV ON BI.ID = NV.ID_NV
    WHERE ISNUMERIC(NV.ID_NV) = 1
    ) ZZ 
WHERE ZZ.ID = 500;

You and I know that the TOP will not change the results of the query, However, there is not a guarantee to the optimizer that the derived table won’t return more than 9223372036854775807 rows so it must evaluate the TOP. Technically, in that query we ask for the first 9223372036854775807 rows and then we want to filter out rows with an ID different from 500. Pushing the ID = 500 predicate down to the derived table could change the results so SQL Server will not do that. In this example, the query executes without an error and the filtering is done at the very end:

top plan

strees

0 / 0 / 0

Регистрация: 20.12.2013

Сообщений: 2

1

20.12.2013, 18:33. Показов 10536. Ответов 2

Метки нет (Все метки)


таблица

T-SQL
1
2
3
4
5
6
7
create table поставщик
(код_поставщика int not null primary key identity(1,1),
телефон varchar(50) not null,
адрес varchar(50) not null,
наименование_поставщика varchar(50) not null,
к_кому_обращаться varchar(50) not null,
unique (код_поставщика))

процедура

T-SQL
1
2
3
4
5
6
7
8
9
create procedure poisk1 
@Ведите_товар bigint
as 
begin 
set nocount on;
select к_кому_обращаться = наименование_поставщика
from поставщик
where наименование_поставщика  = @Ведите_товар
END

ошибка:
Ошибка при преобразовании типа данных nvarchar к bigint.

(строк обработано: 1)

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



1561 / 1113 / 164

Регистрация: 23.07.2010

Сообщений: 6,382

20.12.2013, 20:30

2

Цитата
Сообщение от strees
Посмотреть сообщение

where наименование_поставщика = @Ведите_товар

ужос
varchar(50) и bigint?

Добавлено через 58 секунд

Цитата
Сообщение от strees
Посмотреть сообщение

Ошибка при преобразовании типа данных nvarchar к bigint.

рвет на квадраты



0



StudentMichael

20 / 20 / 1

Регистрация: 03.01.2013

Сообщений: 184

23.12.2013, 08:23

3

Цитата
Сообщение от pincet
Посмотреть сообщение

рвет на квадраты

Ой хорош)))))

Во-первых, зачем тебе bigint? инфа сотка хватит int
Во-вторых, ужасные русские имена колонок… trystory пиши на англ.
В-третьих, для преобразования nvarchar и bigint использую cast

SQL
1
CAST(yourColumn AS data_type)



0



  • Remove From My Forums
  • Question

  • Below is the error message I am getting when I run the below script. Any help appreciated.

    Msg 8114, Level 16, State 5, Line 57
    Error converting data type nvarchar to bigint.
    Warning: Null value is eliminated by an aggregate or other SET operation.

    SELECT   L.ClientID,L.[GPRA Measures],L.AwardTitle,L.GrantNo,L.GranteeName,L.GranteeID,L.InterviewDateatIntake, L.InterviewDateatFollowup
                   ,L.ProgramID,L.[Program Title], L.ProgramCode, L.Month,L.FFY,L.QTR,L.FYQTR,L.ThreeMonthFollowUpDue
                   ,L.ThreeMonthFollowUpReceived,L.ValidCase,L.ValidResponseAtIntake,L.ValidResponseAtFollowUp

        FROM     RPT.Vw3MonthChangeLegacy AS L  INNER JOIN               
                  rpt.vwCDPUserRole ur ON ur.CDPUserId = 25 INNER JOIN                        

                  rpt.vwUserRoleEntity ure ON ur.Id = ure.UserRoleId and ure.EntityId = (CASE WHEN ure.EntityTypeCode = ‘AWARD’ THEN L.AwardTitle

                  WHEN ure.EntityTypeCode =’SITEAWARD’ THEN L.SiteAwardId END)

Answers

  • Hi Naveen,

    Pleace check the below condition

    WHEN ure.EntityTypeCode ='SITEAWARD' THEN L.SiteAwardId END

    You need to use either convert or cast the values in L.SiteAwardId column. I think its coming as bigint.

    Hope this help you.

    Thanks

    Suhas


    Mark as Answer if this resolves your problem or «Vote as Helpful» if you find it helpful.

    My Blog
    Follow @SuhasKudekar
    • Marked as answer by

      Thursday, February 5, 2015 4:42 PM

I want insert all rows of a table into another table, and I also want convert a nvarchar field into bigint, but when I use convert(bigint, col1) SQL Server shows an error:

Error converting data type nvarchar
to bigint

How can I fix this problem?

marc_s's user avatar

marc_s

721k173 gold badges1320 silver badges1442 bronze badges

asked Apr 29, 2011 at 6:07

Hossein Moradinia's user avatar

Hossein MoradiniaHossein Moradinia

6,05614 gold badges58 silver badges85 bronze badges

3

You could try to use ISNUMERIC to determine those rows that are indeed numeric:

UPDATE dbo.YourTable
SET BigIntColumn = CAST(NVarcharColumn AS BIGINT)
WHERE ISNUMERIC(NVarcharColumn) = 1

That would convert those rows that can be converted — the others need to be dealt with manually.

answered Apr 29, 2011 at 6:36

marc_s's user avatar

marc_smarc_s

721k173 gold badges1320 silver badges1442 bronze badges

2

You should convert bigint to nvarchar not vice versa
cast(Other_Column_name as nvarchar) not cast (Column_Name as bigint)

answered May 20, 2018 at 11:30

Gamal Weshahy's user avatar

you can try this:

CAST(CAST(col1 as NUMERIC) as BIGINT)

answered Oct 13, 2021 at 4:56

AliNajafZadeh's user avatar

AliNajafZadehAliNajafZadeh

1,1682 gold badges10 silver badges21 bronze badges

Here I convert navrchar value of column into bigInt and than perform Addition of thos two columns find blow :

SELECT (CAST(col1 AS BIGINT) + CAST(col2 AS BIGINT)) AS TotalValue from tableName 

ChrisMM's user avatar

ChrisMM

8,23612 gold badges31 silver badges47 bronze badges

answered Jan 10, 2022 at 16:22

Mohit Lodhi's user avatar

I want insert all rows of a table into another table, and I also want convert a nvarchar field into bigint, but when I use convert(bigint, col1) SQL Server shows an error:

Error converting data type nvarchar
to bigint

How can I fix this problem?

marc_s's user avatar

marc_s

721k173 gold badges1320 silver badges1442 bronze badges

asked Apr 29, 2011 at 6:07

Hossein Moradinia's user avatar

Hossein MoradiniaHossein Moradinia

6,05614 gold badges58 silver badges85 bronze badges

3

You could try to use ISNUMERIC to determine those rows that are indeed numeric:

UPDATE dbo.YourTable
SET BigIntColumn = CAST(NVarcharColumn AS BIGINT)
WHERE ISNUMERIC(NVarcharColumn) = 1

That would convert those rows that can be converted — the others need to be dealt with manually.

answered Apr 29, 2011 at 6:36

marc_s's user avatar

marc_smarc_s

721k173 gold badges1320 silver badges1442 bronze badges

2

You should convert bigint to nvarchar not vice versa
cast(Other_Column_name as nvarchar) not cast (Column_Name as bigint)

answered May 20, 2018 at 11:30

Gamal Weshahy's user avatar

you can try this:

CAST(CAST(col1 as NUMERIC) as BIGINT)

answered Oct 13, 2021 at 4:56

AliNajafZadeh's user avatar

AliNajafZadehAliNajafZadeh

1,1682 gold badges10 silver badges21 bronze badges

Here I convert navrchar value of column into bigInt and than perform Addition of thos two columns find blow :

SELECT (CAST(col1 AS BIGINT) + CAST(col2 AS BIGINT)) AS TotalValue from tableName 

ChrisMM's user avatar

ChrisMM

8,23612 gold badges31 silver badges47 bronze badges

answered Jan 10, 2022 at 16:22

Mohit Lodhi's user avatar

ABhinav i already check my parameters and i didnt put a varchar value can you please see this program as well to check..

Dim conn As New SqlConnection("Data Source=192.168.0.4;Initial Catalog=CYBERYA;Persist Security Info=True;User ID=cyberya;Password=Piso4minutes;MultipleActiveResultSets=True")

        

        Dim cmdtest As New SqlCommand("Populatecsv", conn)
        cmdtest.CommandType = CommandType.StoredProcedure
        conn.Open()
        cmdtest.Connection = conn
        
        cmdtest.Parameters.Clear()
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@srn", "srn"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@Id", "Id"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@status", "status"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@CustomerName", "customername"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@HomeContact", "homecontact"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@BusinessContact", "businesscontact"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@MobileContact", "mobilecontact"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@LotHouseNo", "lothouseno"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@RoomUnitStall", "roomunitstall"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@BldgFloor", "bldgfloor"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@BldgName", "bldgname"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@Street", "street"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@Subdivision", "subdivision"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@Barangay", "barangay"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@CityMunicipality", "citymunicipality"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@Province", "province"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@Region", "region"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@Package", "package"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@PromoCode", "promocode"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@ApplicationDate", "applicationdate"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@EndorsedDate", "endorseddate"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@paymenttype", "paymenttype"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@scheduledate", "scheduledate"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@loanstatus", "loanstatus"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@ActivationDate", "activationdate"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@pcdelivery", "pcdelivery"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@nopcavailed", "nopcavailed"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@datepcpickup", "datepcpickup"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@pcissuance", "pcissuance"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@salesagent", "salesagent"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@Coordinator", "Coordinator"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@SalesChannel", "saleschannel"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@SalesGroup", "salesgroup"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@CreatedBy", "CreatedBy"))
        cmdtest.Parameters.Add(New Data.SqlClient.SqlParameter("@timestamp", "timestamp"))
        

——————————-stored procedure——————————

ALTER procedure [dbo].[Populatecsv]
@ID BIGINT,
@SRCode BIGINT,
@SRNumber BIGINT,
@Status NVARCHAR (MAX),
@CustomerName NVARCHAR (MAX),
@HomeContact NVARCHAR (MAX),
@BusinessContact NVARCHAR (MAX),
@MobileContact NVARCHAR (MAX),
@LotHouseNo NVARCHAR (MAX),
@RoomUnitStall NVARCHAR (MAX),
@BldgFloor NVARCHAR (MAX),
@BldgName NVARCHAR (MAX),
@Street NVARCHAR (MAX),
@Subdivision NVARCHAR (MAX),
@Barangay NVARCHAR (MAX),
@CityMunicipality NVARCHAR(MAX),
@Province NVARCHAR (MAX),
@Region NVARCHAR (MAX),
@Package NVARCHAR (MAX),
@PromoCode NVARCHAR (MAX),
@PaymentType Nvarchar (MAX),
@ApplicationDate DATETIME,
@EndorsedDate DATETIME,
@PaymentDate DATETIME,
@ScheduleDate DATETIME,
@ActivationDate DATETIME,
@PCDelivery NVARCHAR (MAX),
@NoPCAvailed BIGINT,
@datepcpickedup DATETIME,
@pcissuance nvarchar (MAX),
@SalesAgent NVARCHAR (MAX),
@Coordinator NVARCHAR (MAX),
@SalesChannel NVARCHAR (MAX),
@SalesGroup NVARCHAR (MAX),
@CreatedBy NVARCHAR (MAX),
@LoanStatus NVARCHAR (MAX),
@TimeStamp DATETIME,
@SRN BIGINT OUTPUT
AS
BEGIN
    INSERT INTO SRN (ID,SRCode,SRNumber,Status,CustomerName, HomeContact,BusinessContact,MobileContact,LotHouseNo,RoomUnitStall,BldgFloor,BldgName,Street, Subdivision,Barangay,CityMunicipality,Province,Region ,Package, PromoCode,PaymentType,ApplicationDate,EndorsedDate,PaymentDate,ScheduleDate,ActivationDate,PCDelivery ,NoPCAvailed,datepcpickedup, pcissuance,SalesAgent ,Coordinator,  SalesChannel,SalesGroup, CreatedBy,LoanStatus,TimeStamp )
    VALUES (@ID, @SRCode,@SRNumber,@Status,@CustomerName,@HomeContact,@BusinessContact,@MobileContact,@LotHouseNo,@RoomUnitStall,@BldgFloor,@BldgName,@Street,@Subdivision,@Barangay,@CityMunicipality,@Province,@Package,@PromoCode,@PaymentType,@ApplicationDate,@EndorsedDate ,@PaymentDate,@ScheduleDate,@ActivationDate,@PCDelivery,@NoPCAvailed,@datepcpickedup,@pcissuance,@SalesAgent,@Coordinator,@SalesChannel ,@SalesGroup,@CreatedBy, @LoanStatus, @TimeStamp  );
    SELECT @SRN= SCOPE_IDENTITY();
END

August 25, 2008 at 10:43 pm

#191484

Hi

i am using sql server 2005 to convert data type nvarchar to bigint

but i show below error

Error:Error converting data type nvarchar to bigint

Thanks

murali

Johan Bijnens

SSC Guru

Points: 135002

August 25, 2008 at 11:52 pm

#862909

nvarchar to bigint requires your nvarchar content to be convertable to numbers !

check your nvarchar columns content for non numeric content or special characters, …

muralikrishna37

Ten Centuries

Points: 1233

August 26, 2008 at 12:58 am

#862933

Hi i checked nvarchar columns content

i am giving one column content

customer key(nvarchar(50)

————-

500910000000000000

500903000000000000

500909000000000000

500903000000000000

500805000000000000

500911000000000000

500905000000000000

500911000000000000

500905000000000000

500911000000000000

for this i create one new column with newcustomer key(bigint)

and update the new column with old column

like update tablename set newcustomer key=customer key

it show error

error converting datatype nvarchar to bigint

thanks

murali

Johan Bijnens

SSC Guru

Points: 135002

Inspect your data !

Your example works perfect as shown next.

create table #mytb1 (col1 nvarchar(50) not null);

insert into #mytb1

Select '500910000000000000'

union all Select '500903000000000000'

union all Select '500909000000000000'

union all Select '500903000000000000'

union all Select '500805000000000000'

union all Select '500911000000000000'

union all Select '500905000000000000'

union all Select '500911000000000000'

union all Select '500905000000000000'

union all Select '500911000000000000';

-- (10 row(s) affected)

Alter table #mytb1

add colnew bigint null ;

go

update #mytb1

set colnew = cast( col1 as bigint )

where colnew is null ;

-- (10 row(s) affected)

drop table #mytb1;

muralikrishna37

Ten Centuries

Points: 1233

Hi ALZ

i did what u said but it did affect any row it shows

0 affected rows

my old column is (col1 nvarchar(50) null)

my new column is (newcol bigint null)

but u taken old column (col1 nvarchar(50) not null)

thanks for help

murali

Johan Bijnens

SSC Guru

Points: 135002

Did you test the exact example code I posted ?

Can you post the results of this query ?

select count(*) as newcol_NULL_count

from yourtable

where newcol is null ;

muralikrishna37

Ten Centuries

Points: 1233

Hi ALZ

1.select count(*) as newcol_NULL_count

from yourtable

where newcol is null ;

if i implement above query it shows the follwing error

Incorrect syntax near ‘_NULL_Count’.

and i changed the query

2.select count(*) as newcol from yourtable where newcol is null;

it shows

newcol

——

5999

Johan Bijnens

SSC Guru

Points: 135002

August 26, 2008 at 10:31 am

#863260

strange, now it finds 5999 rows where newcol is null.

So the update statement should have target rows to modify.

update yourtable

set newcol = oldcol

where newcol is null

muralikrishna37

Ten Centuries

Points: 1233

August 26, 2008 at 10:39 pm

#863491

Hi ALZ

when i test my original data

at the time alter table it show below warning

Warning: The table «samples» has been created, but its maximum row size exceeds the allowed maximum of 8060 bytes. INSERT or UPDATE to this table will fail if the resulting row exceeds the size limit.

thats y it didnt convert

tell my any other way

Johan Bijnens

SSC Guru

Points: 135002

muralikrishna37

Ten Centuries

Points: 1233

Hi ALZ

i didnt guess how to check my original that

can u give the suggestion

thanks

murali

Johan Bijnens

SSC Guru

Points: 135002

muralikrishna37 (8/27/2008)


Hi ALZ

i didnt guess how to check my original that

can u give the suggestion

thanks

murali

check the url in my previous reply.

it has the info.

этот код дает мне ошибку:

error in converting datatype nvarchar to bigint

это мои значения таблицы:

   @customer_first_name nvarchar (50), @customer_last_name nvarchar (50), @customer_address nvarchar (max), @gender nchar (10), @date_of_birth datetime, @customer_email_id varchar (50), @customer_occuption varchar (50), @customer_occuption varchar (50), @customer_occuption varchar (50), @nominee_name nchar (50), @customer_id nvarchar (50), @account_type nvarchar (50), @account_number nvarchar (50), @transfer_access_code nvarchar (50), @account_balance Bigint, @pin_code BigInt, @nationality, nvarchar (XNUMX) @password nvarchar (XNUMX)
    
lblAmount.Text = HFamount .Value ;
int balamount = Convert.ToInt32(lblAmount.Text);
int Cpincode = Convert.ToInt32(txtpincode.Text);

long phone = Convert.ToInt64(txtphone.Text);
string cust_id = CUSTOMER_ID_GENERATOR();
string sqlquery = "INSERT INTO customer_details values(@customer_first_name,@customer_last_name,@customer_address,@gender,@date_of_birth,@customer_email_id,@customer_occuption,@customer_phone_number,@nominee_name,@customer_id,@account_type,@account_number,@transfer_access_code,@account_balance,@pin_code,@nationality,@password)";
string strconstring = ConfigurationManager.ConnectionStrings["ONLINE_BANKING2_ConnectionString"].ConnectionString;
SqlConnection mycon = new SqlConnection(strconstring);
mycon.Open();
SqlCommand  cmdRegister= new SqlCommand(sqlquery,mycon);
cmdRegister.Parameters.Add(new SqlParameter("@customer_first_name",txtcustname.Text.ToString()));
cmdRegister.Parameters.Add(new SqlParameter("@customer_last_name",txtcustlastname.Text.ToString()));
cmdRegister.Parameters.Add(new SqlParameter("@customer_address",txtAddress.Text.ToString()));
cmdRegister.Parameters.Add(new SqlParameter("@gender", rbtngender.SelectedItem.Value.ToString()));
cmdRegister.Parameters.Add(new SqlParameter("@date_of_birth", txtDOB.Text));
cmdRegister.Parameters.Add(new SqlParameter("@customer_email_id", txtemail.Text.ToString()));
cmdRegister.Parameters.Add(new SqlParameter("@customer_occuption",  txtcustoccupation.Text.ToString()));
cmdRegister.Parameters.Add(new SqlParameter("@customer_phone_number",  phone));
cmdRegister.Parameters.Add(new SqlParameter("@nominee_name",  txtnominee.Text.ToString()));
cmdRegister.Parameters.Add(new SqlParameter("@customer_id",  cust_id));
cmdRegister.Parameters.Add(new SqlParameter("@account_type",  accType.SelectedItem.Value.ToString()));
cmdRegister.Parameters.Add(new SqlParameter("@account_number",  ACCOUNT_NUMBER_GENERATOR()));
cmdRegister.Parameters.Add(new SqlParameter("@transfer_access_code",Transfer_code()));
cmdRegister.Parameters.Add(new SqlParameter("@account_balance",  balamount));
cmdRegister.Parameters.Add(new SqlParameter("@pin_code",  Cpincode));
cmdRegister.Parameters.Add(new SqlParameter("@nationality", DropCountry.SelectedItem.Value.ToString()));
cmdRegister.Parameters.Add(new SqlParameter("@password",txtpasswd2.Text.ToString()));
cmdRegister.ExecuteNonQuery();
mycon.Close();

Пожалуйста, помогите мне

только просмотры при ответе

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка при преобразовании типа данных float к decimal
  • Ошибка при предоставлении общего доступа общий ресурс не создан windows 10