3

だから私は2つの列を持っています。1 つはプレフィックス (nvarchar) を含み、次はプレフィックスを削除したい nvarchar を含み、その列に「words」という名前を付けます。普通に行けright(words, len(words) - len(prefix)ばその答えが得られるでしょう。ただし、単語の先頭に 2 つのスペースがあり、プレフィックスが 1 つのスペースであるとします。そのため、単語の先頭からスペースを 1 つだけ削除しようとしています。len(prefix) は 0 を返します。datalength(prefix) は 1 を返しますが、一部の文字が 2 バイトを占めるため、datalength が答えになるとは思いません。

4

2 に答える 2

6

これを試して :

RIGHT(words, LEN(words) - (LEN(prefix+'?')-1))

編集済み:

これが「よりクリーン」であることがわかるかもしれません:

RIGHT(words, LEN(words) - DATALENGTH(CONVERT(VARCHAR(100),prefix)))
于 2013-10-09T18:44:34.833 に答える