文字列入力に基づいて値を動的に計算するオプションを検討しています。たとえば、次の文字列入力を取ります。T-SQL構文解析ストリングとアクションの実行
"(32+35)/(12+34)"
数字32,35,12,34はIDの「プレースホルダ」です。私がしようとしていることは、以下の通りです。 ID 32でメトリックを取得し、値を返す関数をいくつか適用します。次に、メトリックID 35に適用された同じ関数によって戻された値にその値を追加します。
(dbo.foo(32) + dbo.foo(35))/(dbo.foo(12) + dbo.foo(34))
単純な加算文字列から始めるほうが簡単で、他の演算子( - 、/、*)を使うのが簡単です。
これはtsqlで可能ですか?正規表現オプション(正規表現tsql関数を含む)とそれ以外の何かについて考えることができます。
おそらく、文字列に関数名を挿入するために正規表現が整数に置き換えられ、結果を得るために文字列をexec()しますか?
このような方法の長所と短所を議論しません...私はこれが私の問題に対する真の "データベース"解決策ではないが、それをもっと探求したいと思っています。
「これは悪い解決策だとわかっていますが、やりたいと思っています。私は砂で私のエンジンを潤滑する最善の方法についてのautomotive.seの質問をすることができますが、それは私が訂正することを期待すべきではないということを意味しません。 **幸運!** – JNK
JNK、あなたは確かです。しかし、私はこれが悪い解決策だと思ったことは一度もありませんでした。「真のデータベース」の解決策ではありません。特定の状況では、さまざまなソリューションが必要であり、私の問題を十分に理解していなければ、解決策を判断することはできません。 – thomas
確かにそれを判断することができます。あなたの状況の詳細を知らなければ、判断は正確ではないかもしれませんが、ここにいる多くの人々の豊富な経験は、おそらく間違った方向に向いているという隠された特質がなくても懸念があると思うようになります。また、私は、皆さんの状況が従来の知恵を侵害するのを黙認するのに十分なほどユニークだと思っていることをほとんど誰もが想像しています。私の経験では、ほとんどが間違っています。 –