0

以下のサンプル データの SQL コマンドは次のとおりです。

Table1  
ID|Description  
1 |Logon Failed. User tempUser1 is unknown
2 |Logon Failed. User Carl is unknown  


Expected result to get only the username after the word "User" and before the word "is"  
ID|Description  
1 |tempUser1  
2 |Carl

ありがとう、
リル

4

2 に答える 2

1

このようなものが動作するはずです:

SELECT 
  ID, 
  SUBSTRING(
    description, 
    CHARINDEX('User', description) + 5, 
    CHARINDEX('is unknown', description) - CHARINDEX('User', description) - 6
  ) AS Description
FROM table1
ORDER BY ID

部分文字列関数の奇妙な書式設定は、すべてをここの 1 ページに収めるためです (スクロールバーを削除するため)。

編集:

文字列が常に で始まる場合、これも機能し、より効率的になりますLogon Failed. User

SELECT 
  ID, 
  SUBSTRING(Description, 20, CHARINDEX('is unknown', Description) - 21) AS Description
FROM table1
ORDER BY ID
于 2013-10-22T14:46:20.307 に答える