我在程序表中有一个名称列。它具有以下值
Name
Style U.
Music Videos (60) 108
Amp 111
MTV2 JAMS 112
RoR 113
Artist Collection 114
我的要求是删除出现在上述数据末尾的数字部分。如果没有数字,那么我需要来自 Select 查询的值。
我尝试过以下逻辑..
DECLARE @c AS VARCHAR(25)
SET @c = 'abc3 hkh 360'
SELECT
CASE WHEN CHARINDEX(' ', LTRIM(RTRIM(@c)), 0) = 0
THEN @c
ELSE SUBSTRING(LTRIM(RTRIM(@c)), 1, CHARINDEX(' ', LTRIM(RTRIM(@c)), -1))
END AS Prg_Name
结果:abc3
但是上述逻辑中的问题是,它无法找到两个连续的空格,而是在找到第一个空格时进行修剪。