Sql 检查字符串是否包含前导字母
如何检查字符串是否包含前导字母?在C#中很简单,但我是用SQL实现的。有办法检查这个吗?如果是,我如何删除它 例: @MyString='A1234'Sql 检查字符串是否包含前导字母,sql,sql-server,sql-server-2000,Sql,Sql Server,Sql Server 2000,如何检查字符串是否包含前导字母?在C#中很简单,但我是用SQL实现的。有办法检查这个吗?如果是,我如何删除它 例: @MyString='A1234' 更新的字符串='1234'如果要检查,请尝试在IF…中包装子字符串 substring(@MyString,1,1) = 'A' 或者只是 declare @val varchar(10) set @val = substring(@MyString,1,1) 对于一个前导字母,您可以执行以下操作: IF NOT ISNUMERIC(SUB
更新的字符串='1234'如果要检查,请尝试在IF…中包装子字符串
substring(@MyString,1,1) = 'A'
或者只是
declare @val varchar(10)
set @val = substring(@MyString,1,1)
对于一个前导字母,您可以执行以下操作:
IF NOT ISNUMERIC(SUBSTRING(@MyString, 1, 1))
SET @MyString = SUBSTRING(@MyString, 2, LEN(@MyString))
您可以重复此操作,直到不再有字母。使用:
UPDATE YOUR_TABLE
SET your_column = SUBSTRING(your_column, 2, DATALENGTH(your_column))
WHERE your_column LIKE '[A-Za-z]%'
我认为您应该将
DATALENGTH()
更改为LEN()
:如果类型是UNICODE(并且NVARCHAR
现在被广泛使用)DATALENGTH()
将“加倍”长度。