問題タブ [sql-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
13076 参照

mysql - MySQL の SQL で HTTP GET を直接実行できますか?

私はこれをしたいです:

これを行うためのコードはありますか? MySQL ドキュメントには、DNS ルックアップを実行する関数を追加する例が含まれているため、これが可能であることはわかっていました。

MySQL / Windows / できればコンパイルする必要はありませんが、できます。

(このようなことを聞​​いたことがなくても、存在するなら持っているだろうと期待する場合は、「proly not」がいいでしょう。)

編集: これにより、ワーム全体のセキュリティが解除されることはわかっていましたが、私の場合、DB への唯一のアクセスは mysql コンソール アプリを介したものです。これは、誰でもアクセスできるシステムではありません。Web バックエンドではありません。ローカルデータロギングシステムのみです

0 投票する
1 に答える
760 参照

sql - SQL リスト関数の精度の削除

LIST 関数を使用して「;」を作成しています。区切られた値のリスト。タイプは数値 (19,2) です。リスト関数を使用すると、何らかの理由で精度が無視されるようです。この列で単純な選択を実行すると、値は「12.00」など、適切に見えます。ただし、LIST() を使用すると、結果の形式は「12.000000」になります。

これは私のリストの使用法です:

CONVERT は結果を変更しません。何か案は?

ありがとう!

0 投票する
7 に答える
10482 参照

sql-server-2005 - 計算列によって参照される SQL 関数の変更

テーブルの列を、式が関数を呼び出す計算列になるように設定すると、その基になる関数を変更するのが面倒になります。変更するたびに、関数を参照する数式を持つすべての列を見つけ、参照を削除し、テーブルを保存し、関数を変更し、すべてを元に戻して、再度保存する必要があります。小さな変化でさえ悪夢です。

関数が数式によって参照されていることを気にせず、基になる関数を変更するだけでよいことを SQL Server に伝えることができますか?

追加の詳細: 計算列は非決定的であるため、FK 制約によって永続化または参照されません。この関数は、現在の時刻を考慮します。レコードの有効期限が切れているかどうかの問題を扱っています。

0 投票する
8 に答える
46555 参照

sql - SQL Server のスカラー値関数が遅くなるのはなぜですか?

スカラー値関数を連続して使用すると、クエリの実行が累積的に遅くなるように見えるのはなぜですか?

サードパーティから購入したデータで構築されたこのテーブルがあります。

この投稿を短くするために、いくつかの項目を削除しました... しかし、設定方法を理解していただくためです。

次に、LAT と LON を検索する 2 つの関数があります。

以下を実行すると...

100 ~= 8 ミリ秒、200 ~= 32 ミリ秒、400 ~= 876 ミリ秒

--編集 申し訳ありませんが、もっと明確にする必要がありました。上記のクエリを調整するつもりはありません。これは、処理するレコードが多いほど実行時間が遅くなることを示す単なるサンプルです。実際のアプリケーションでは、関数は where 句の一部として使用され、都市と州の周囲に半径を構築し、その地域のすべてのレコードを含めます。

0 投票する
1 に答える
2361 参照

.net - nHibernate 名前付きクエリで replace sql 関数を使用する

プロジェクトで Nhibernate 2.1.0 を使用しています。

プロパティ Path と次の名前付きクエリを持つ Item クラスがあります。

次のコードを使用して名前付きクエリを実行します。

しかし、次の例外が発生します。

SetParameter<string> と SetParameter(":oldUNC", "old" NHibernateUtil.String) を使用してパラメーター値を設定しようとしましたが、同じエラーで失敗しました。これは、NHibernate がパラメーター値が文字列であると言って私を無視するようなものです :(.

0 投票する
21 に答える
714348 参照

sql - SQLServerの関数とストアドプロシージャ

関数とストアドプロシージャをかなり長い間学習してきましたが、関数またはストアドプロシージャを使用する理由と時期がわかりません。彼らは私には同じように見えます、おそらく私はそれについてちょっと初心者だからです。

誰かが理由を教えてもらえますか?

0 投票する
1 に答える
2075 参照

sql - XQueryパラメーターを使用したSQL関数の記述

このスレッドの回答の1つに続いて; Linq To SQLでXQueryを使用していますか?

xmlデータに対してクエリを実行するためにパラメータを受け取るSQLテーブル関数を作成しようとしています。この関数は、linqクエリで使用できます。

私が持っている問題は;

  1. 前述のスレッドからコードを取得すると、「xmlデータ型メソッド「value」の引数1は文字列リテラルである必要があります」というエラーが発生します。

  2. sp_executesqlを使用して独自の関数を作成すると、「関数内から実行できるのは関数と拡張ストアドプロシージャのみ」になります。

これが私の関数です。

そして、これが私のテストです。

誰かがこれを達成する方法を考えることができますか?

編集:ところで、私がこれをlinqで直接実行していない理由は、エラーが発生するためです。

エラー;

0 投票する
12 に答える
180915 参照

sql - SQL で複数の文字を置き換える方法は?

これは、Access SQL で複数の文字を置き換える方法と同様の質問に基づいています。

SQL Server 2005 では、replace() 関数が where 句内で 19 個の置換に制限されているように見えるため、これを書きました。

次のタスクがあります: 列で一致を実行する必要があり、replace() 関数を使用して複数の不要な文字を削除する一致の可能性を高める必要があります

その where 句に >19 個の REPLACE() がある場合、機能しません。したがって、私が思いついた解決策は、この例でtrimCharsという名前の SQL 関数を作成することです (@22 で開始してすみません)

これは、他の置換文字列に加えて使用できます

同様の置換を行う関数をさらにいくつか作成しました。例えば、trimChars(trimMoreChars()

誰かがこの問題のパフォーマンスとよりクリーンな実装の点でより良い解決策を教えてくれますか?

0 投票する
3 に答える
1758 参照

sql-server-2005 - SQL サブクエリ\関数のパフォーマンス

私は現在、特に複雑なユースケースに取り組んでいます。以下の簡略化:)

第 1 に、クライアント レコードは、サービスのコレクションと多対 1 の関係にあります。つまり、1 つのクライアントに複数のサービスが関連付けられている場合があります。

トリガー内で、特定の基準に基づいてクライアントの ID を返すクエリを作成しています。基準は次のとおりです。

  1. タイプ B のサービスが少なくとも 1 つあり、タイプ A のサービスが存在しない場合は、id を返します。
  2. タイプ C のサービスが少なくとも 1 つあり、タイプ B または A のサービスが存在しない場合は、id を返します。
  3. 少なくとも 1 つのサービスがタイプ D であり、タイプ C または B または A のサービスが存在しない場合は、id を返します。

私の現在のアプローチは、以下のようなクエリを作成することです

where[dbo].[Get_ServicesByClientIdAndType]は、指定されたクライアント ID とサービス タイプに関連付けられたサービスを返す関数です。に似ている


これがこのユースケースを表現する最適な手段であると仮定すると、関数[dbo].[Get_ServicesByClientIdAndType]のサブクエリはキャッシュされますか、それともサービスパラメーターを変更すると、呼び出しごとに新しい評価が必要になりますか? [私はこのことを 9 回呼び出しています!!! Sql Server 2005 を実行中]

Sql Server 2005 が結果のキャッシュなど、いくつかのサブクエリの最適化をサポートしていることは知っていますが、どのような状況下で、またはどのようにサブクエリ [または関数] を作成して、Sql Server の機能を最大限に活用できるかはわかりません。


編集:上記の私の基準を見直し、何かがおかしいというしつこい感覚を手放すことができませんでした. 私は頭の中でいくつかのロジックをいじって、この[はるかに単純な]定式化を思いつきました

基本的に、C と D の場合と同様に、拒否につながる B に関するシナリオは存在しないため、どのような構成でも受け入れられます。A がどの選択にも存在しないことだけを気にします。アーグ!チャーリー・ブラウン!


両方の式をレビューのために残しておきますが、ユーザー定義関数に関する Sql Server のパフォーマンスに関する回答には非常に感謝しています。

0 投票する
4 に答える
13223 参照

sql - SQL の Table-returned-function で使用される if ステートメントの問題

関数を次のように単純化しました。

動作させることができません..構文エラーがあるようですが、動作させる方法がわかりません..何か考えはありますか?