Ich habe eine kleine Abfrage, um Daten aus meiner Tabelle zu bekommen, aber aus irgendeinem Grund manchmal nicht funktionieren.Err 22003 - SQL Server IN Fehler
Abfrage # 1:
Error: 22003 - [SQL Server]The conversion of the nvarchar value '5492215893737' overflowed an int column.
declare @in_array varchar(128) = '51831,43010'
declare @sql_ varchar (128) = 'SELECT * FROM TEST WHERE ARRAYT IN ('[email protected]_array+')'
select @in_array as 'output'
EXEC (@sql_)
Abfrage # 2: Adaequat
declare @in_array varchar(128) = '5492215893737'
declare @sql_ varchar (128) = 'SELECT * FROM TEST WHERE ARRAYT IN ('[email protected]_array+')'
select @in_array as 'output'
EXEC (@sql_)
Abfrage # 3:
The conversion of the nvarchar value '5492215893737' overflowed an int column.
declare @in_array varchar(128) = '5492215893737, 13737171'
declare @sql_ varchar (128) = 'SELECT * FROM TEST WHERE ARRAYT IN ('[email protected]_array+')'
select @in_array as 'output'
EXEC (@sql_)
Abfrage # 4:
Error: [Err] 42S22 - [SQL Server]Invalid column name 'justtest'.
42S22 - [SQL Server]Invalid column name 'thisis'.
declare @in_array varchar(128) = 'thisis, justtest'
declare @sql_ varchar (128) = 'SELECT * FROM TEST WHERE ARRAYT IN ('[email protected]_array+')'
select @in_array as 'output'
EXEC (@sql_)
Ich kann nicht meine @in_array
ändern. Ich meine, dass var sollte immer wie 'var1, var2, var3, var4, Qn' (varchar
Typ) sein
#update: Mit dem Code zur Verfügung stellen von Giorgi ich dieses: zweite wählen ist nicht funktioniert, aber warum der dritte arbeitet?
Was ist der Datentyp von ARRAYT? –
Hallo, ist varchar (250) – Jorge