この記事では主に SQL Server の一般的な関数の概要を紹介します。必要な方は参考にしてください。
以前 SQL の一般的な関数をいくつか記録したいと思っていましたが、実装したことがありませんでした。 。 。おいおい。 。 。
今日まで substring() 関数を使用してきました。C# のこのメソッドの開始値は 0 ですが、SQL の開始値は 1 です。愚かにも言えません。 。 。
このブログはSQL関数の使用記録を目的として、使いたいときに書いていきます。 。 。
SubString(): 指定された文字列をインターセプトするために使用されるメソッド。このメソッドには 3 つのパラメータがあります:
パラメータ 1: 操作対象の文字列を指定するために使用されます。
パラメータ 2: インターセプトする文字列の開始位置を指定するために使用され、開始値は 1 です。
パラメータ 3: インターセプトする長さを指定するために使用されます。
select substring('abcdef',1,3) -- 返回 abc select substring('123456321',0,2) -- 返回 1,即第一位,最好不要这样做
Left(): 指定された文字列の指定された長さの左側の部分を返すために使用されます。このメソッドには 2 つのパラメータがあります:
パラメータ 1: 操作対象の文字列を指定するために使用されます。
パラメータ 2: 返される部分文字列の長さを指定するために使用されます。
select LEFT('abc123',3) -- 返回 abc select LEFT('左侧部分右侧部分',4) -- 返回 左侧部分
Right(): 指定された文字列内の指定された長さの右側の部分を返すために使用されます。このメソッドには 2 つのパラメータがあります:
パラメータ 1: 操作対象の文字列を指定するために使用されます。
パラメータ 2: 返される部分文字列の長さを指定するために使用されます。
select RIGHT('abc123',3) -- 返回 123 select RIGHT('左侧部分右侧部分',4) -- 返回 右侧部分
CharIndex(): 指定された文字列内の指定された部分文字列の開始位置を返すために使用されます。見つからない場合は 0 を返します。このメソッドには 2 つのパラメータがあります:
パラメータ 1: 検索する文字列を指定するために使用されます。
パラメータ 2: 取得に使用する文字列を指定するために使用されます。
select charindex('a','123a123') -- 返回 4 select charindex('abc','123a123') -- 返回 0 select charindex('abc','123abc123') -- 返回 4
Stuff(): 指定された長さの文字を削除し、削除された位置に新しい文字/値を挿入するために使用されます。このメソッドには 4 つのパラメーターがあります:
パラメーター 1: 操作対象の文字列を指定するために使用されます。
パラメータ2: 削除する文字の開始位置を指定するために使用されます。
パラメータ 3: 削除する文字の長さを指定するために使用されます。
パラメータ 4: 削除された位置に挿入される新しい文字列/値を指定するために使用されます。
select stuff('123abc456',4,3,'ABC') -- 返回 123ABC456 select stuff('123abc456',1,3,'') -- 返回 abc456,用空字符串替代
Len(): 指定されたテキストの値の長さを返すために使用されます。先頭のスペースはカウントされますが、末尾のスペースはカウントされません。このメソッドにはパラメータが 1 つあります:
パラメータ 1: 操作対象のテキストまたは文字列を指定するために使用されます。
select len('123') -- 返回 3 select len('字符串') -- 返回 3
Difference(): 2 つの文字式の SOUNDEX 値間の差異を示す整数値を返すために使用されます。 (つまり、2 つの文字列の類似性) では、SOUNDEX 値とは何でしょうか?まずそれを覚えておいてください、次はその番です。
戻り値の範囲は 0 から 4 です。0 はほぼ異なるか完全に異なることを意味し、4 はほぼ同じかまったく同じを意味します。このメソッドには 2 つのパラメータがあります:
パラメータ 1: 比較する最初の文字列 SOUNDEX 値を指定するために使用されます。
パラメータ 2: 比較する 2 番目の文字列 SOUNDEX 値を指定するために使用されます。
select difference('action','demo') -- 返回 2 select difference('123456','整数') -- 返回 4
Soundex(): 指定された文字列の SOUNDEX 値を返すために使用されます。 SOUNDEX は、英語の単語の発音を使用して近似値を計算する音声アルゴリズムです。値は 4 文字で構成され、最初の文字は英字、最後の 3 文字は数字です。ピンイン テキストでは、単語を発音できても綴りが正しくない場合があります。Soundex を使用すると、同様のファジー マッチング効果を実現できます。ここでのあいまい一致は、LIKE とは異なります。
アルゴリズムの簡単な説明:
-- 将英文字按以下规则替换(不使用第一个字符进行匹配,并且不使用对应值为 0 的英文字符的值) a e h i o u w y -> 0 b f p v -> 1 c g j k q s x z -> 2 d t -> 3 l -> 4 m n -> 5 r -> 6
文字列内に同じ対応する数字を持つ文字が 2 つ以上ある場合 (j と k など)、残りを削除し、1 つだけを残します。対応する値が 0 である文字を削除し、0 で埋めるには不十分な最初の 4 バイトのみを返します。
select soundex('string') -- 返回 S215 select soundex('str') -- 返回 S210 select soundex('123') -- 返回 0000 select soundex('字符串') -- 返回 0000
PS: 英語以外の文字は 0000 を返すため、上記のメソッド Difference() の 2 番目の例は 4 (まったく同じ意味) を返します。
Lower(): 指定された英語文字列の小文字文字列を返すために使用されます。英語の文字列でない場合は、元の値が返されます。このメソッドにはパラメータが 1 つあります:
パラメータ 1: 小文字に変換される文字列を指定するために使用されます。
select lower('ABC') -- 返回 abc select lower('123') -- 返回 123
Upper(): 指定された英語文字列の大文字文字列を返すために使用されます。英語の文字列でない場合は、元の値が返されます。このメソッドにはパラメータが 1 つあります:
パラメータ 1: 大文字に変換する文字列を指定するために使用されます。
select upper('abc') -- 返回 ABC select upper('123') -- 返回 123
Ltrim(): 先頭のスペースを削除した後の文字列を返すために使用されます。このメソッドにはパラメータが 1 つあります:
パラメータ 1: 先頭のスペースから削除する文字列を指定するために使用されます。
select ltrim(' 123') -- 返回 123 select ltrim(' 好多空格') -- 返回 好多空格 select len(' 123') -- 返回 11 select len(ltrim(' 123')) -- 返回 3
Rtrim(): 末尾のスペースを切り捨てた後に文字列を返すために使用されます。このメソッドにはパラメータが 1 つあります:
パラメータ 1: 末尾のスペースで切り詰められる文字列を指定するために使用されます。
select rtrim('123 ') -- 返回 123 select len(rtrim('123 ')) -- 返回 3
Replace(): 最初の文字列式内の 2 番目に指定された文字列式のすべての出現を 3 番目の式で置き換えます。このメソッドには 3 つのパラメーターがあります:
パラメーター 1: 操作対象の文字列、つまり照合対象の文字列を指定するために使用されます。
パラメータ 2: 照合する文字列を指定するために使用されます。
パラメータ 3: 既存の一致を置換するために使用される文字列を指定するために使用されます。
以上がSQL Server の一般的な関数の使用方法のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。