Ich habe eine Tabelle mit Daten wie folgt aus:falsche Syntax in der Nähe von „Fall“
ID | Fill
---------------
1 | @@@@
2 | @@@@Y
3 | @@@@Y245
ich die obigen Daten in eine andere Tabelle einfügen möchten, und erwarten, dass die Ergebnistabelle sein:
ID | Fill
----------------
1 | (Space)
2 | Y
3 | Y245
das heißt, wenn ich @@@@ finden, sollte es durch den Raum sein ersetzen (4 Raum char wie es 4 @ hat)
Hier ist, wie ich versuche, dies zu tun:
insert into table1
(
id
,case
when contains(substring([fill],1,4),'@@@@') then ' '+substring([fill],5,100)
else [fill]
end
)
select
id
,convert(char(100),[col1]+[col2]+[col3]+[col4])
from
table2
Allerdings zeigt es Syntaxfehler in der Nähe von "case". Was mache ich falsch? Wie kann ich das gewünschte Ergebnis erzielen?
'CONTAINS' ist ein Freitextsuche Betreiber zu erreichen, scheint es, Sie suchen', wenn [füllen] wie ‚@@@@%‘ '? –
Darüber hinaus ist Ihre Syntax einfach falsch. 'in Tabelle einfügen (Liste der einzufügenden Spalten) hier Abfrage auswählen ', Sie haben den Fallausdruck in" Spaltenliste "platziert, was falsch ist. Also ja, falsche Syntax. –
Schauen Sie sich 'Patindex' an. Suchen Sie auch nach allgemeinen Fragen zum Entfernen/Abschneiden führender Zeichen. – shawnt00