0

SQL 値の左から文字を削除したい:

私は次の値を持っています:

ABC0005953

左から値 3 文字をトリムするにはどうすればよいですか? を見たいのですが:

005953

編集私の値は次のとおりです。

SELECT LEN(TABLE.VALUE)-3)
4

5 に答える 5

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

4 番目の文字から始めて、続けます。

RIGHT(...)(ソリューションの代替として投稿するだけです。)

あなたの更新に応じて、あなたは上記をあなたのテーブルに適用したいと思っていると思います:

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

あなたの他の質問から:

私は次のものを持っています:

個別選択

Left(GIFTHEADER.pID + GIFTHEADER.PID + '-' + Cast(PAYMENTDETAIL.PLI​​NENO as Varchar),18)

AS TRANSACTIONREF...

現在、私の値は次のようになっています。

ABC0005953ABC0005953

GIFTHEADER.pID から最初の 4 文字を単純に削除したい

から最初の 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

おそらく、 right(x, len(x)-3) を使用できます

于 2013-05-29T13:57:13.117 に答える
0

2 つのオプション:

SELECT SUBSTRING('ABC0005953', 5,7)

SELECT RIGHT('ABC0005953', (LEN('ABC0005953') - 4))
于 2013-05-29T13:58:26.483 に答える