SQLに深く入り込んで文字列(substringとpatidex)の詳細解を切り取ります。
まず二つの関数を勉強します。 文字、binary、textまたはイメージ表式の一部を返します。基本文法:SUBSTRING(expression、start、length)expression:文字列、バイナリ文字列、text、イメージ、列または列を含む表式start:整数、サブストリングの開始位置を指定します。 注:SQLの「1」は文字列の最初の文字を表し、NETの「0」は最初の文字のlength:整数を表し、サブストリングの長さ(返す文字数またはバイト数)を指定します。
2.pating dex 指定された式の中のモードの最初の開始位置を返します。有効なすべてのテキストと文字データの種類にモードが見つからない場合は、ゼロを返します。基本文法:PATINDEX('%pattern%',expression)pattern:文字列。ワイルドカードは使えますが、patternの前と後には%の文字が必要です。patternは、短い文字データタイプの種類の表現式expressionで、通常は指定されたパターンの列を検索します。expressionは文字列データタイプのカテゴリです。
上の2つの関数を組み合わせて、文字列で指定された文字
2.pating dex 指定された式の中のモードの最初の開始位置を返します。有効なすべてのテキストと文字データの種類にモードが見つからない場合は、ゼロを返します。基本文法:PATINDEX('%pattern%',expression)pattern:文字列。ワイルドカードは使えますが、patternの前と後には%の文字が必要です。patternは、短い文字データタイプの種類の表現式expressionで、通常は指定されたパターンの列を検索します。expressionは文字列データタイプのカテゴリです。
上の2つの関数を組み合わせて、文字列で指定された文字
declare @a varchar(50)
set @a='2009 7 15 '
select substring(@a,1,4) -- 2009
declare @b int
set @b=patindex('% %',@a) -- ' ' , 10
select substring(@a,6,@b-5) -- '7 15 '
を切り取ります。