我想没有任何的运气来了一个方法传递如何在T-SQL空间之前删除某些字符?
布鲁诺·米格尔·亚历山大到B.米格尔·亚历山大
和
布鲁诺·亚历山大到B.亚历山大
只是在SQL这样我就可以做一个大的查询,这部分在一个存储过程
任何人都可以提供任何帮助吗?你们可能已拥有的任何功能?
非常感谢。
我想没有任何的运气来了一个方法传递如何在T-SQL空间之前删除某些字符?
布鲁诺·米格尔·亚历山大到B.米格尔·亚历山大
和
布鲁诺·亚历山大到B.亚历山大
只是在SQL这样我就可以做一个大的查询,这部分在一个存储过程
任何人都可以提供任何帮助吗?你们可能已拥有的任何功能?
非常感谢。
以第一个字符+空格中的所有内容。 8000是避免LEN调用否则
LEFT(MyValue, 1) + '.' + SUBSTRING(MyValue, CHARINDEX(' ', MyValue), 8000)
+1,工作有效地与任何字符串,而不仅仅是“布鲁诺” ;-) – 2010-12-02 21:18:26
尝试子与CHARINDEX找到空间
with MyTable as
(
SELECT 'Bruno Miguel Alexandre' as FullName
UNION SELECT 'Miguel Bruno Alexandre'
UNION SELECT 'Bruno Alexandre'
UNION SELECT 'Bruno Miguel'
)
SELECT
SubString (FullName, 1, 1)
+ '.'
+ SubString (FullName, CHARINDEX (' ', FullName, 1), 8000)
FROM MyTable
输出是
------------------------
B. Alexandre
B. Miguel
B. Miguel Alexandre
M. Bruno Alexandre
(4 row(s) affected)
始终字符串 “布鲁诺”? – gbn 2010-12-02 21:13:19
@gbn :)这是一个很好的 – 2010-12-02 21:14:06