【发布时间】:2013-05-24 19:51:45
【问题描述】:
我想在我的 SQL 值中从左侧修剪字符:
我有以下值:
ABC0005953
如何从左边修剪值 3 个字符?我想看看:
005953
编辑我的值是:
SELECT LEN(TABLE.VALUE)-3)
【问题讨论】:
标签: sql sql-server tsql
我想在我的 SQL 值中从左侧修剪字符:
我有以下值:
ABC0005953
如何从左边修剪值 3 个字符?我想看看:
005953
编辑我的值是:
SELECT LEN(TABLE.VALUE)-3)
【问题讨论】:
标签: sql sql-server tsql
SELECT RIGHT('ABC0005953', LEN('ABC0005953') - 3)
【讨论】:
SELECT SUBSTRING('ABC0005953', 4, LEN('ABC0005953'))
从第四个字符开始并继续。
(只是发布作为RIGHT(...) 解决方案的替代方案。)
响应您的更新,我假设您的意思是要将上述内容应用于您的表:
SELECT SUBSTRING(TABLE.VALUE, 4, LEN(TABLE.VALUE))
FROM TABLE
从你的另一个问题:
我有以下几点:
选择不同的
Left(GIFTHEADER.pID + GIFTHEADER.PID + '-' + Cast(PAYMENTDETAIL.PLINENO as Varchar),18)
作为 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
【讨论】:
TABLE.VALUE修改答案。
也许你可以直接使用 right(x, len(x)-3)
【讨论】:
两种选择:
SELECT SUBSTRING('ABC0005953', 5,7)
SELECT RIGHT('ABC0005953', (LEN('ABC0005953') - 4))
【讨论】:
您可以使用STUFF 函数将字符 1 到 3 替换为空字符串
SELECT STUFF('ABC0005953',1,3,'')
我相信这是一种比剪线更好、更通用的方法。
【讨论】: