20

私は、1 つのフィールドに 2 つの別々のフィールドを格納する必要があるものが含まれている厄介なデータベースを扱っています。したがって、列は「最初の文字列~@~2番目の文字列」のように格納されます。「~@~」は区切り文字です。(繰り返しますが、これは私が設計したものではありません。修正しようとしているだけです。)

これを 2 つの列に移動するクエリが必要です。これは次のようになります。

UPDATE UserAttributes
SET str1 = SUBSTRING(Data, 1, STRPOS(Data, '~@~')),
    str2 = SUBSTRING(Data, STRPOS(Data, '~@~')+3, LEN(Data)-(STRPOS(Data, '~@~')+3))

しかし、strpos に相当するものが存在することがわかりません。

4

3 に答える 3

12

PatIndex 関数は、文字列の一部としてパターンの場所を提供する必要があります。

PATINDEX ( '%pattern%' , expression )

http://msdn.microsoft.com/en-us/library/ms188395.aspx

于 2009-07-08T19:06:06.400 に答える