Nach dem Kopieren von Datensätzen aus einer Char
Spalte in eine Varchar
Spalte konnte ich nicht die Zeile mit like
AnweisungNach dem Kopieren von Datensätzen aus einer Char-Spalte in eine Varchar-Spalte konnte ich die Zeile nicht mit like-Anweisung in SQL Server 2014 finden, aber in 2003
Create database testDB
Go
USE [testDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TestTable1]
(
[Col_char] [char](20) NULL,
[Col_nchar] [nchar](64) NULL,
[Col_varchar] [varchar](64) NULL,
[Col_nvarchar] [nvarchar](64) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
insert into TestTable1 values ('Sumit1%', 'Sumit1%', 'Sumit1%', 'Sumit1%')
insert into TestTable1 values ('Sumit2*', 'Sumit2*', null, 'Sumit2*')
select
[Col_char], LEN([Col_char]),
[Col_nchar], LEN([Col_nchar]),
[Col_varchar], LEN([Col_varchar]),
[Col_nvarchar], LEN([Col_nvarchar])
from
TestTable1
Diese Linie gibt mir das Suchergebnis
select *
from TestTable1
where 'sumit1' like [Col_varchar]
Jetzt finde ich *
mit %
& co bin ersetzen Kopie ren [Col_char] bis [Col_varchar] Spalte
update TestTable1
set [Col_varchar] = Replace([Col_char], '*', '%')
where [Col_char] like '%2%'
select * from TestTable1
select * from TestTable1 where 'sumit1' like [Col_varchar]
-- this line is not showing any results
select * from TestTable1 where 'sumit2' like [Col_varchar]
select
Len(Replace([Col_char], '*', '%')),
Len(Replace([Col_varchar], '*', '%')), *
from TestTable1
Ein gutes Beispiel für eine gut formulierte Beispiel und die Frage – xQbert
Ihr Beispiel funktioniert gut für mich .. so lange wie Sie 'SET ANSI_PADDING ON' zu Beginn der Abfrage – JamieD77
Einfache Anführungszeichen weglassen sind für String-Literale. Verwenden Sie doppelte Anführungszeichen für Bezeichner (z. B. Spaltennamen), wie in ANSI SQL definiert. (SQL Server hat auch eckige Klammern.) – jarlh