每个人的问题...我尝试使用字符串函数时,我已将某些值插入表中。我要做的是删除字符串的结尾并保留其前面的所有内容:
CREATE TABLE #BrokerNameT
(
BrokerName VARCHAR(100)
)
INSERT INTO #BrokerNameT
(BrokerName)
VALUES ('Peter Pan Co Cash'),
('Batman Co Cash'),
('Spiderman Algo'),
('Spiderman Cash')
在这里,我所期待的只是回归:'Peter Pan Co','蝙蝠侠Co'和'蜘蛛侠'
是否可以从字符串的结尾搜索第一个空格? 如果我能够做到这一点,那我不能在第一个空间之前保留所有东西吗?
知道我该怎么做吗?
我可以使用两个反转来实现这个目标吗?
答案 0 :(得分:4)
反转字符串,然后找到第一个空格的位置,然后你知道最后一个空格的末端到底有多远。
SELECT
SUBSTRING(
BrokerName,
1,
LEN(BrokerName) - CHARINDEX(' ', REVERSE(BrokerName))
)
FROM
#BrokerNameT
答案 1 :(得分:0)
这是一个查询:
select *,
left(BrokerName, len(BrokerName) - charindex(' ', reverse(BrokerName))
) as AllButLast
from BrokerNameT
Here是一个用来演示它的SQLFiddle。