2010-11-12 16 views
5

Jak mogę sprawdzić, czy mój ciąg zawiera pierwsze litery? W języku C# jest łatwe, ale robię to w SQL. Czy istnieje sposób, aby to sprawdzić? Jeśli tak, jak mogę go usunąć?Sprawdź, czy ciąg zawiera wiodące litery

EX: @MyString = 'A1234'

Updated ciąg = '1234'

Odpowiedz

12

Zastosowanie:

UPDATE YOUR_TABLE 
    SET your_column = SUBSTRING(your_column, 2, DATALENGTH(your_column)) 
WHERE your_column LIKE '[A-Za-z]%' 
+0

myślę, że należy zmienić 'datalength()' 'do LEN()': jeśli typ jest Unicode (i 'NVARCHAR' jest szeroko stosowane w dzisiejszych czasach)' datalength() 'będzie "podwoić" długość. – onedaywhen

0

Spróbuj zawijania SUBSTRING w IF ... jeśli chcesz sprawdzić

substring(@MyString,1,1) = 'A' 

lub po prostu

declare @val varchar(10) 

set @val = substring(@MyString,1,1) 
1

Dla jednego wiodącego pisma, można zrobić:

IF NOT ISNUMERIC(SUBSTRING(@MyString, 1, 1)) 
    SET @MyString = SUBSTRING(@MyString, 2, LEN(@MyString)) 

Możesz powtórzyć, dopóki nie będzie więcej liter.

Powiązane problemy