1

皆さんへの質問...文字列関数をいじろうとして、いくつかの値をテーブルに挿入しました。私がやろうとしているのは、文字列の末尾を削除し、その前のすべてを保持することです:

CREATE TABLE #BrokerNameT
  (
     BrokerName VARCHAR(100)
  )

INSERT INTO #BrokerNameT
            (BrokerName)
VALUES      ('Peter Pan Co Cash'),
            ('Batman Co Cash'),
            ('Spiderman Algo'),
            ('Spiderman Cash') 

ここで私が探しているのは、「Peter Pan Co」、「Batman Co」、および「Spiderman」という単純な戻り値です。

文字列の末尾から最初のスペースを検索することはできますか? それができれば、最初のスペースの前にすべてを保持できませんか?

どうすればこれを行うことができますか?

これを達成するために2つのリバースを使用できますか?

4

2 に答える 2

4

文字列を逆にして、最初のスペースの位置を見つけると、最後のスペースが最後からどれだけ離れているかがわかります。

SELECT
  SUBSTRING(
    BrokerName,
    1,
    LEN(BrokerName) - CHARINDEX(' ', REVERSE(BrokerName))
  )
FROM
  #BrokerNameT
于 2013-06-14T15:49:43.033 に答える