首先,我在这里看到CHARINDEX
结果,但它们似乎都不适用于我的情况。原因是a,CHARINDEX
无法帮助我,或者b,我不理解CHARINDEX
如何运作。话虽这么说,我想在这里提出我的问题,希望我能就如何解决我的问题和CHARINDEX
得到一些澄清,如果这恰好是这个问题得到解决的方式。
我想要从中提取的变量具有不同的长度。但是,有两件事总是不变的。
我要做的是从'/'和'0'或'1'之间提取名称。简而言之,我想要切掉前16个字符和每个字符串的最后一个字符。到目前为止,这就是我所拥有的:
SELECT
SUBSTRING([string_name], 17, LEN([string_name]) - 1) AS 'username'
FROM
[table_name]
我得到的结果仍然包含最后的0 OR 1。我需要做的是以某种方式从字符串中删除0。值得注意的是,“/”和“0”之间的字符数总是不同的。
目前的结果:
gordon0
grant0
greg0
guy1
hanying0
期望的结果:
gordon
grant
greg
guy
hanying
这里的任何建议都很棒。
如果您需要我提供任何其他信息,请与我们联系。如果可能,希望继续使用SUBSTRING
,LEFT
或RIGHT
。
由于
答案 0 :(得分:2)
调整长度似乎可以解决您的问题:
SELECT SUBSTRING([string_name], 17, LEN([string_name])-17) AS username
FROM [table_name]