消除字符串中的第一个数字

时间:2011-07-14 05:36:39

标签: sql sql-server-2005

我的列中的数据类似于 12地址,我想用地址消除数字我该如何才能实现结果地址。这里可以是任何其他字符串,也不仅仅是地址。

查询:

SELECT Address FROM TABLE

由于

3 个答案:

答案 0 :(得分:4)

在SQL Server中:

SELECT
  COALESCE(LTRIM(SUBSTRING(Address, FirstPos, 2147483647)), '') AS Address
FROM (
  SELECT
    Address,
    NULLIF(PATINDEX('%[^0-9]%', Address), 0) AS FirstPos
  FROM atable
) s

答案 1 :(得分:3)

SELECT SUBSTRING(address, CHARINDEX(' ',address)+1,field_len)
FROM table

解释

语法:SUBSTRING(fieldname,start_position,end_position)

在你的情况下

SUBSTRING( 
address -- your field name
, CHARINDEX(' ',address)+1 -- find the space char
, field_len -- get all the rest of the string
)

答案 2 :(得分:1)

SELECT RIGHT(Address,LEN(Address) - CHARINDEX (' ', Address) + 1) FROM tbl

这样的事情应该有效。