Mam bazę danych o nazwie Typ konta, która zawiera znaki powrotu karetki i znaki nowej linii (CHAR (10) i CHAR (13)).Użycie REPLACE w zapytaniu SQL dla znaków powrotu nowej linii/karetki
Kiedy szukam tej wartości, muszę wykonać REPLACE
, jak pokazano poniżej. Poniższy kod działa poprawnie.
SELECT AccountNumber,AccountType,
REPLACE(REPLACE(AccountType,CHAR(10),'Y'),CHAR(13),'X') FormattedText
FROM Account
WHERE AccountNumber=200
AND REPLACE(REPLACE(AccountType,CHAR(10),' '),CHAR(13),' ') LIKE
'%Daily Tax Updates: ----------------- Transactions%'
Moje pytanie brzmi - jakie są inne znaki (podobnie jak Char (10) amd CHAR (13)), które potrzebują takiego zastąpić? Uwaga: Typ danych dla kolumny to VARCHAR
.
Uwaga: Zapytanie jest uruchamiany z SQL Server Management Studio
Nie znamy twoich danych ani twoich wymagań, więc skąd mamy wiedzieć, jakie znaki musisz zastąpić? –
@ dan1111. Użytkownik może wprowadzać dowolne dane do bazy danych. A więc, co każda postać potrzebuje takiego REPLACE. Czy istnieje lepsza metoda niż REPLCAE? – Lijo
cóż, na jakie znaki chcesz zezwolić? Znakomicie nadaje się do przechowywania dowolnych znaków, w tym znaków nowej linii, w polu. Jeśli są takie, na które nie chcesz pozwolić, wynika to z Twoich wymagań projektowych (o których nie wiemy). –