検索
ホームページデータベースmysql チュートリアルSQL Server の一般的な関数の使用方法のまとめ

この記事では主に 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 サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
MySQLのライセンスは、他のデータベースシステムと比較してどうですか?MySQLのライセンスは、他のデータベースシステムと比較してどうですか?Apr 25, 2025 am 12:26 AM

MySQLはGPLライセンスを使用します。 1)GPLライセンスにより、MySQLの無料使用、変更、分布が可能になりますが、変更された分布はGPLに準拠する必要があります。 2)商業ライセンスは、公的な変更を回避でき、機密性を必要とする商用アプリケーションに適しています。

MyisamよりもInnodbを選びますか?MyisamよりもInnodbを選びますか?Apr 25, 2025 am 12:22 AM

Myisamの代わりにInnoDBを選択する場合の状況には、次のものが含まれます。1)トランザクションサポート、2)高い並行性環境、3)高いデータの一貫性。逆に、Myisamを選択する際の状況には、1)主に操作を読む、2)トランザクションサポートは必要ありません。 INNODBは、eコマースプラットフォームなどの高いデータの一貫性とトランザクション処理を必要とするアプリケーションに適していますが、Myisamはブログシステムなどの読み取り集約型およびトランザクションのないアプリケーションに適しています。

MySQLの外国キーの目的を説明してください。MySQLの外国キーの目的を説明してください。Apr 25, 2025 am 12:17 AM

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

MySQLのインデックスのさまざまなタイプは何ですか?MySQLのインデックスのさまざまなタイプは何ですか?Apr 25, 2025 am 12:12 AM

MySQLには、B-Treeインデックス、ハッシュインデックス、フルテキストインデックス、空間インデックスの4つのメインインデックスタイプがあります。 1.B-Treeインデックスは、範囲クエリ、ソート、グループ化に適しており、従業員テーブルの名前列の作成に適しています。 2。HASHインデックスは、同等のクエリに適しており、メモリストレージエンジンのHASH_TABLEテーブルのID列の作成に適しています。 3。フルテキストインデックスは、記事テーブルのコンテンツ列の作成に適したテキスト検索に使用されます。 4.空間インデックスは、地理空間クエリに使用され、場所テーブルのGEOM列での作成に適しています。

MySQLでインデックスをどのように作成しますか?MySQLでインデックスをどのように作成しますか?Apr 25, 2025 am 12:06 AM

tocreateanindexinmysql、usethecreateindexstatement.1)forasinglecolumn、 "createdexidx_lastnameonemployees(lastname);" 2)foracompositeindexを使用して、 "createindexidx_nameonemployees(lastname、firstname);" 3); "3)、" 3)を使用します

MySQLはSQLiteとどのように違いますか?MySQLはSQLiteとどのように違いますか?Apr 24, 2025 am 12:12 AM

MySQLとSQLiteの主な違いは、設計コンセプトと使用法のシナリオです。1。MySQLは、大規模なアプリケーションとエンタープライズレベルのソリューションに適しており、高性能と高い並行性をサポートしています。 2。SQLiteは、モバイルアプリケーションとデスクトップソフトウェアに適しており、軽量で埋め込みやすいです。

MySQLのインデックスとは何ですか?また、パフォーマンスをどのように改善しますか?MySQLのインデックスとは何ですか?また、パフォーマンスをどのように改善しますか?Apr 24, 2025 am 12:09 AM

MySQLのインデックスは、データの取得をスピードアップするために使用されるデータベーステーブル内の1つ以上の列の順序付けられた構造です。 1)インデックスは、スキャンされたデータの量を減らすことにより、クエリ速度を改善します。 2)B-Tree Indexは、バランスの取れたツリー構造を使用します。これは、範囲クエリとソートに適しています。 3)CreateIndexステートメントを使用して、createIndexidx_customer_idonorders(customer_id)などのインデックスを作成します。 4)Composite Indexesは、createIndexIDX_CUSTOMER_ORDERONORDERS(Customer_Id、Order_date)などのマルチコラムクエリを最適化できます。 5)説明を使用してクエリ計画を分析し、回避します

データの一貫性を確保するために、MySQLでトランザクションを使用する方法を説明します。データの一貫性を確保するために、MySQLでトランザクションを使用する方法を説明します。Apr 24, 2025 am 12:09 AM

MySQLでトランザクションを使用すると、データの一貫性が保証されます。 1)StartTransactionを介してトランザクションを開始し、SQL操作を実行して、コミットまたはロールバックで送信します。 2)SavePointを使用してSave Pointを設定して、部分的なロールバックを許可します。 3)パフォーマンスの最適化の提案には、トランザクション時間の短縮、大規模なクエリの回避、分離レベルの使用が合理的に含まれます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境