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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック









