【解決方法】SQLサーバークエリの1つの列から文字列の最後の部分を削除するにはどうすればよいですか?


やあ
SQLサーバーで単語形式の文字列の最後の部分を削除する方法。

たとえば、これは 1 列の文字列です。Viewer\DWG MPP msg EML\New folder\1343939490.pdf
までの連絡が必要です」Viewer\DWG MPP msg EML\New folder” そしてこの単語の最後の部分を省略/削除します”\1343939490.pdf「split.i は最後のスラッシュとファイル名を削除する必要があることを意味します(\1343939490.pdf)

注:このクエリをサブクエリとしてwhere条件で使用するつもりです。したがって、ストアプロシージャでは望ましくなく、そのスラッシュ(「\」)も増加または減少します。つまり、文字列にはいつか含まれるということです。

Viewer\DWG MPP msg EML\1343939490.pdf
Viewer\1343939490.pdf
Viewer\DWG MPP msg EML\New folder\DWG MPP msg EML\New folder\1343939490.pdf

よろしく
アラヴィンド

解決策 1

SQL には Split 関数がありません (SQL には配列の概念がないため、テーブルとして以外の値のコレクションを返すことができません)。

ただし、リバース機能はあります。

SQL
SELECT LEFT(Location, LEN(Location) - CHARINDEX('\', REVERSE('\' + Location))) AS [Result] from MyTable

クエリで読み取り可能にしたい場合は、いつでも SQL 関数を作成してそれを行うことができます。

コメント

タイトルとURLをコピーしました