0

我想在我的 SQL 值中从左侧修剪字符:

我有以下价值:

ABC0005953

如何从左侧修剪值 3 个字符?我想看看:

005953

编辑我的价值是:

SELECT LEN(TABLE.VALUE)-3)
4

5 回答 5

3
SELECT SUBSTRING('ABC0005953', 4, LEN('ABC0005953'))

从第四个字符开始并继续前进。

(只是发布作为解决方案的替代RIGHT(...)方案。)

为了响应您的更新,我假设您的意思是要将上述内容应用于您的表格:

SELECT SUBSTRING(TABLE.VALUE, 4, LEN(TABLE.VALUE))
FROM TABLE

从你的另一个问题:

我有以下内容:

选择不同的

左(GIFTHEADER.pID + GIFTHEADER.PID + '-' + Cast(PAYMENTDETAIL.PLI​​NENO 作为 Varchar),18)

作为交易参考...

目前我的价值是这样的:

ABC0005953ABC0005953

我想简单地从 GIFTHEADER.pID 中去掉前 4 个字符

如果要从中删除前四个字符GIFTHEADER.pID,我建议在将值放入组合字符串之前删除它们:

SELECT DISTINCT
    LEFT(SUBSTRING(GIFTHEADER.pID, 5, LEN(GIFTHEADER.pID) +
        GIFTHEADER.PID +
        '-' +
        Cast(PAYMENTDETAIL.PLINENO as Varchar),18)
    AS TRANSACTIONREF
于 2013-05-29T13:57:02.770 回答
2

您可以使用STUFF函数将字符 1 到 3 替换为空字符串

SELECT STUFF('ABC0005953',1,3,'')

我相信这是一种比剪线更好、更通用的方法。

于 2013-05-29T13:58:52.533 回答
1
SELECT RIGHT('ABC0005953', LEN('ABC0005953') - 3)
于 2013-05-29T13:55:08.000 回答
0

两种选择:

SELECT SUBSTRING('ABC0005953', 5,7)

SELECT RIGHT('ABC0005953', (LEN('ABC0005953') - 4))
于 2013-05-29T13:58:26.483 回答
0

也许你可以使用 right(x, len(x)-3)

于 2013-05-29T13:57:13.117 回答