2016-06-15 12 views
-1

Wissen Sie, wie Sie die Art von Zeichen auf einmal in einer Abfrage entfernen?Entfernen Sie unnötige Zeichen mithilfe der SQL-Abfrage

Hinweis: .Ich erhalte diese Daten aus der Access App und lege nur die gültigen Daten in SQL.

select DISTINCT ltrim(rtrim(a.Company)) from [Legacy].[dbo].[Attorney] as a 

Diese Spalte ist company name column.I müssen string characters only halten .Aber ich numbers only rows,numbers and characters rows,NULL,Empty and all other +,- entfernen müssen.

enter image description here

+1

Was ist unerwünscht? '13401' ist unerwünscht, aber' 1115' ist erwünscht? – Nicarus

+0

Definieren Sie "unter Art des Charakters" Gibt es ein Muster? – Denn

+0

@Nicarus Diese Spalte ist 'company name' column.Es ist in Ordnung, Nummer und Zeichen zu haben.Aber ich muss nur Zahlen entfernen. – Sampath

Antwort

5

Basierend auf Ihren extrem vagen "Regeln" werde ich eine Vermutung machen.

Vielleicht wird so etwas in der Nähe sein.

Dies schließt Einträge aus, die nicht mindestens 2 Zeichen lang sind und nicht in eine Zahl konvertiert werden können.

+0

Das funktioniert. Vielen Dank :) – Sampath

0

Dies sollte die Zeilen auszuwählen, die Sie löschen möchten:

where company not like '%[a-zA-Z]%' and -- has at least one vowel 
     company like '%[^ a-zA-Z0-9.&]%' -- has a not-allowed character 

Die Liste der erlaubten Zeichen in dem zweiten Ausdruck nicht vollständig sein kann.

Wenn das funktioniert, können Sie es leicht für eine delete Anweisung anpassen.

Verwandte Themen