我在一张表中记录的记录很少
.modal-body {
padding:15px, 8% !Important;
}
我想检查字符串末尾是否存在.carousel-control-prev {
left: -50px;
}
.carousel-control-next {
right: -50px;
}
(斜杠),如果存在,则仅从末尾删除斜杠。
我知道使用 123456/
53787899/
68239003-21/
5761289903120,7278/
574738992842/478389
或/
会有效。
但是,如何使用它?
我希望我的输出字符串是
charindex
注意:partindex
(斜杠)后面可能有空格。请让我知道这样做。
DDL
123456
53787899
68239003-21
5761289903120,7278
574738992842/478389
答案 0 :(得分:3)
您可以使用RIGHT
匹配字符数来查找字符串是否以'/'
字符结尾。
DECLARE @STR VARCHAR(100)='5761289903120,7278/'
SELECT
CASE WHEN RIGHT(@STR,1)='/' THEN SUBSTRING(@STR, 1, (LEN(@STR) - 1)) ELSE @STR END
工作示例
WITH MT AS
(
SELECT * FROM
(VALUES('123456/'),('53787899/'),('68239003-21/'),('5761289903120,7278/'),('574738992842/478389')) T(mystring)
)
SELECT
CASE WHEN RIGHT(mystring,1)='/' THEN SUBSTRING(mystring, 1, (LEN(mystring) - 1)) ELSE mystring END
FROM MT
<强>输出强>
MyString
---------
123456
53787899
68239003-21
5761289903120,7278
574738992842/478389
编辑:如果你想删除最后一个空格,你可以改变查询,如下所示。
RIGHT(RTRIM(mystring),1)='/'
在Where子句中使用
SELECT CASE WHEN RIGHT(RTRIM(MY_COLUMN),1)='/' THEN SUBSTRING(MY_COLUMN, 1, (LEN(MY_COLUMN) - 1)) ELSE MY_COLUMN END AS MY_COLUMN
FROM [MY_TABLE]
WHERE RTRIM(MY_COLUMN) LIKE '%/'
如果要将其更新回表格,可以使用以下查询。
UPDATE T
SET T.MY_COLUMN = CASE WHEN RIGHT(RTRIM(MY_COLUMN),1)='/' THEN SUBSTRING(MY_COLUMN, 1, (LEN(MY_COLUMN) - 1)) ELSE MY_COLUMN END
FROM [MY_TABLE] T
答案 1 :(得分:0)
这样的事情:
declare @t table (
MyString VARCHAR(40) NULL
)
insert @t (MyString)
VALUES ('123456/'),
('53787899/'),
('68239003-21/'),
('5761289903120,7278/'),
('574738992842/478389')
select MyString,
CASE WHEN MyString LIKE '%/' THEN LEFT(MyString, LEN(MyString)-1) ELSE MyString END NewValue
from @t
答案 2 :(得分:0)
我认为这样做会
declare @T table (string varchar(100));
insert into @T values
(' 123456/')
, (' 53787899/')
, ('68239003-21/')
, ('5761289903120,7278/')
, ('5761289903120,7279/ ')
, ('574738992842/478389 ')
, ('574738992842/478390 ');
select '''' + t.string + '''' from @T t;
update t
set t.string = SUBSTRING(LTRIM(RTRIM(T.string)), 1, LEN(LTRIM(RTRIM(T.string))) - 1)
from @T t
where t.string like '%/';
select t.string from @T t;