Benötigen Sie ein spezielles Muster, um Werte mit 13 Längenzeichen zu finden. Die ersten von 12 sind Zahlen, zum Beispiel 119910023525P Es gibt 2 Muster:

LIKE '____________P' 

Oder

LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]P'

Benötigen Sie etwas wie '[0-9]{12}P' Ist es in MS-SQL Server möglich?

1
Almelyan 18 Jän. 2019 im 01:34

3 Antworten

Beste Antwort

Die TSQL-Mustersyntax enthält keine Quantifizierer.

Sie können verwenden

LIKE REPLICATE('[0-9]',12) + 'P'
2
Martin Smith 17 Jän. 2019 im 22:48

Sie könnten diese Logik verwenden:

(x like '%P' and x not like '%[^0-9]%P' and len(x) = 13)

Dies entspricht jedoch ungefähr der Anzahl der Eingaben, die nur 12 Mal manuell [0-9] repliziert wurden.

0
Gordon Linoff 17 Jän. 2019 im 22:52

Vielleicht hilft Ihnen die Funktion REGEXP () bei dieser Aufgabe.

-1
Johannes Schidlowski 17 Jän. 2019 im 22:39