C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 129 を表示中)
■76365 / )  Re[1]: クエリビルダーについての質問です。
□投稿者/ 魔界の仮面弁士 (389回)-(2015/07/02(Thu) 11:09:53)
No76364 (よぽん さん) に返信
> c# に関する質問でなくてごめんなさい。
大丈夫ですよ。C# 限定の掲示板というわけでも無いですし。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=7966&KLOG=19


> クエリビルダーのクエリの実行での質問ですが
対象データベースの製品名とバージョン・エディションは何でしょうか?
また、クエリビルダーの「データソース」では、どのミドルウェアを用いて接続されていますか?


> 1.CEILING の動作がうまくいきません。
CEILING 関数を備えるのは、SQL Server や MySQL などですね。
Oracle や PostgreSQL の場合は CEIL 関数だったはず。
(DB2 の場合は、CEILING も CEIL もあったかな…)


> たとえば 10 も 10.5 も 10 になります。
変換元の数値のデータ型と小数点精度(有効桁数)は何でしょうか?

たとえば 「21 / 2」のような計算を行った場合、
Oracle では NUMBER 型の「10.5」となりますが、
SQL Server では int 型の「10」となります。

当然ながら、後者を CEILING した場合は、11 とはなりません。
「21.0 / 2.0」であれば、numeric 型の「10.5」なので
CEILING によって 11 に変化するのですけれどね。


> 2.使用できない最新の関数があります。
>   ROW_NUMBER とか
クエリビルダーは、一部の構文を解析できません。
(PARTITION 句や高次の副問い合わせ、テーブルを返す関数、ユーザー定義型など)

とはいえ、構文解析ができないできないだけで、実行自体は可能です。
クエリービルダーを右クリックして、「ペイン」メニューから
『ダイアグラム』と『抽出条件』を Off にしてみてください。
『SQL』と『結果』だけが On の状態であれば、たとえば
下記のような SQL も実行できるかと思います。

-------------
SELECT 
  KAISHA_CD
, ROW_NUMBER() OVER (PARTITION BY KAISHA_CD ORDER BY TENPO_CD) AS 社内連番
, TENPO_CD
FROM TABLE1
ORDER BY 2
-------------

返信 編集キー/


管理者用

- Child Tree -