0

あなたが持っている場合

e_id ename 
1 hansen sahul 
2 dennis richard rathore

e_id 1のenameカウントを次のように見つける方法は? 2

e_id 2のenameカウントを次のように見つける方法は? 3

4

1 に答える 1

0

残念ながら、文字列操作関数はデータベースによって異なるため、SQL Server の方言を与えることができます。別のデータベースを使用している場合は、 と の代わりを見つける必要がありLENますREPLACE

declare @Names table (e_id int,ename varchar(3000))
insert into @Names (e_id, ename) values
(1,'hansen sahul'),
(2,'dennis richard rathore')

select e_id,LEN(ename) - LEN(REPLACE(ename,' ','')) + 1 as namecount
from @Names

結果:

e_id        namecount
----------- -----------
1           2
2           3

これは、プレーン文字列と、スペースが削除された同じ文字列の長さの差を計算することで機能します。これは、文字列内のスペースの数と論理的に同等です。1次に、希望する結果 (スペースの数ではなく、名前の数) に一致するように追加します。

(テーブルのセットアップも方言ですが、動作するスクリプトの作成に役立つだけです)

于 2012-07-04T06:44:13.847 に答える