我想在SQL值中修剪左边的字符:
我有以下价值:
ABC0005953
如何从左侧修剪3个字符的值?我想看看:
005953
编辑我的值是:
SELECT LEN(TABLE.VALUE)-3)
答案 0 :(得分:3)
SELECT SUBSTRING('ABC0005953', 4, LEN('ABC0005953'))
从第四个角色开始继续。
(仅发布作为RIGHT(...)
解决方案的替代方案。)
为了回应您的更新,我认为您的意思是要将上述内容应用到您的表格中:
SELECT SUBSTRING(TABLE.VALUE, 4, LEN(TABLE.VALUE))
FROM TABLE
来自您的其他问题:
我有以下内容:
SELECT DISTINCT
左(GIFTHEADER.pID + GIFTHEADER.PID +' - '+ Cast(PAYMENTDETAIL.PLINENO as Varchar),18)
AS TRANSACTIONREF ......
目前我的价值如下:
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
答案 1 :(得分:2)
您可以使用STUFF
函数将字符1到3替换为空字符串
SELECT STUFF('ABC0005953',1,3,'')
我认为这比切割字符串更好,更普遍。
答案 2 :(得分:1)
SELECT RIGHT('ABC0005953', LEN('ABC0005953') - 3)
答案 3 :(得分:0)
也许你可以使用正确的(x,len(x)-3)
答案 4 :(得分:0)
有两种选择:
SELECT SUBSTRING('ABC0005953', 5,7)
SELECT RIGHT('ABC0005953', (LEN('ABC0005953') - 4))