2010-11-12 27 views
5

¿Cómo puedo verificar si mi cadena contiene letras iniciales? En C# es fácil, pero estoy haciendo esto en SQL. ¿Hay alguna manera de verificar esto? Si es así, ¿cómo puedo eliminarlo?Verificar si la cadena contiene letras iniciales

EX: @MyString = 'A1234'

cadena actualizada = '1234' SUBSECUENCIA envoltura

Respuesta

12

Uso:

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

creo que debería cambiar 'DATALENGTH()' 'a LEN()': si el tipo es Unicode (y 'NVARCHAR' se utiliza ampliamente hoy en día)' DATALENGTH() 'se 'duplicar' la longitud. – onedaywhen

0

Probar en un SI ... si usted quiere comprobar

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

o simplemente

declare @val varchar(10) 

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

Para una letra principal, puede hacer:

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

Puede repetir eso hasta que no haya más letras.

Cuestiones relacionadas