Added: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32613.html ============================================================================== --- websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32613.html (added) +++ websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32613.html Wed Mar 13 13:54:17 2013 @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + +RTRIM関数 + + + + +

RTRIM関数

+ + +
+

RTRIMは文字式の末尾にある空白を取り除きます。

+
+ +

構文

+
RTRIM(文字式)
+

A +文字式はCHAR、VARCHAR、LONG VARCHARおよび、文字列に暗黙に変換可能な組込みのデータ型です。

+ +

もし文字式がnullなら、RTRIMの結果はnullです。

+
+ +
-- ' asdf'が返ります。
+VALUES RTRIM(' asdf  ')
+-- 'asdf'が返ります。
+VALUES RTRIM('asdf  ')
+
+ +
+ +
+ +
+ + + Propchange: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32613.html ------------------------------------------------------------------------------ svn:eol-style = native Added: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32654.html ============================================================================== --- websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32654.html (added) +++ websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32654.html Wed Mar 13 13:54:17 2013 @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + +GROUP BY 節 + + + + +

GROUP BY 節

+ + +
+
+

GROUP BY 節は選択式の一部とすることができます。この節により結果を一列以上の列の間で同じ値を持つ、結果の部分集合にまとめることができます。 +それぞれの部分集合には、分類列が同じ値を持つ行はありません。 +NULLは部分集合へのまとめを行う場合、同じ値と見なされます。

+ +

典型的にいって、GROUP BY節は集約式と併せて使われます。

+
+ +

構文

GROUP BY 列名 [ , 列名 ] *
+

列名 は問い合わせにて可視でなければなりません。問い合わせにて不可視な列であってはなりません。 +例えば、GROUP BY節が副問い合わせにあった場合、その節は副問い合わせの外にある問い合わせの列を参照してはなりません。 +

+ +

GROUP BY節を持つ選択式にある選択項目は集約か分類列でなければなりません。

+
+ + +
-- airportで分類されたflightsの、
+-- flying_timesの平均を探す。
+SELECT AVG (flying_time), orig_airport
+FROM Flights
+GROUP BY orig_airport
+
+SELECT MAX(city_name), region
+FROM Cities, Countries
+WHERE Cities.country_ISO_code = Countries.country_ISO_code
+GROUP BY region
+-- smallintによる分類
+SELECT ID, AVG(SALARY)
+FROM SAMP.STAFF
+GROUP BY ID
+-- AVGSALARY、EMPCOUNT列と、DEPTNO列をAS節により取得する。
+-- さらにOTHERSという相関名で、WORKDEPT列による分類を行う。
+SELECT OTHERS.WORKDEPT AS DEPTNO,
+AVG(OTHERS.SALARY) AS AVGSALARY,
+COUNT(*) AS EMPCOUNT
+FROM SAMP.EMPLOYEE OTHERS
+GROUP BY OTHERS.WORKDEPT
+
+
+ +
+ +
+ +
+ + + Propchange: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32654.html ------------------------------------------------------------------------------ svn:eol-style = native Added: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32693.html ============================================================================== --- websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32693.html (added) +++ websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32693.html Wed Mar 13 13:54:17 2013 @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + +AVG関数 + + + + +

AVG関数

+ + +
+

AVGは複数行にわたる式の平均を評価する集約関数です。(集約 (集合関数)を参照してください。) +AVGは数値型に評価される式に対してのみ作用させることができます。

+
+ +

構文

AVG ( [ DISTINCT | ALL ] 式 )
+ +

DISTICTを指定すると、重複が取り除かれます。 +ALLを指定すると、重複を残します。ALLもDISTINCTも指定されない場合の既定はALLです。 +例えば、列の値が1.0、1.0、1.0、1.0、2.0だったとします。この場合、AVG(col)はAVG(DISTINCT col)より小さな値を返します。

+ +
DISTINCTな集約式は、選択式に一つだけ置くことができます。 +例えば、次の問合せは無効です。
SELECT AVG (DISTINCT flying_time), SUM (DISTINCT miles)
+FROM Flights
+
+ +

式には複数列への参照や式があってかまいませんが、他の集約や副問合せがあってはなりません。 +また評価結果はSQL-92の数値型でなければなりません。したがってSQL-92の型に評価される関数なら呼ぶことができます。もし評価結果がNULLであった場合、集約にてその値は省かれます。

+ +
結果のデータ型は操作される式と同じデータ型です。(オーバーフローはありません) +例えば次の問合せは予想に反して整数の1を返します。 +
SELECT AVG(c1)
+FROM (VALUES (1), (1), (1), (1), (2)) AS myTable (c1)
+
+ +
より精度が必要であれば、式をキャストします。
SELECT AVG(CAST (c1 AS DOUBLE PRECISION))
+FROM (VALUES (1), (1), (1), (1), (2)) AS myTable (c1)
+
+
+ +
+ +
+ +
+ + + Propchange: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32693.html ------------------------------------------------------------------------------ svn:eol-style = native Added: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32714.html ============================================================================== --- websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32714.html (added) +++ websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32714.html Wed Mar 13 13:54:17 2013 @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + +VARCHAR FOR BIT DATA データ型 + + + + +

VARCHAR FOR BIT DATA データ型

+ + +
+

VARCHAR FOR BIT DATAでは指定された長さ以下のバイナリ列を記録することができます。これは画像のような文字列とすることが適当ではない、構造のない情報を記録するのに便利です。

+
+ +

構文

{ VARCHAR | CHAR VARYING | CHARACTER VARYING } (長さ) FOR BIT DATA 
+ +

長さは符号のない整数のリテラルで、長さをバイト数で指定します。

+ +

CHAR FOR BIT DATAとは異なり、VARCHAR FOR BIT DATAには、既定の長さは存在しません。長さは最大で32,672バイトにする事ができます。

+
+ +

JDBCメタデータ型 (java.sql.Types)

+

VARBINARY

+ +

+VARCHAR FOR BIT DATAでは可変長のバイト列が記録されます。CHAR FOR BIT DATAとは異なり、VARCHAR FOR BIT DATAでは長さをそろえるための値詰めはありません。

+ +

値の連結などをVARCHAR FOR BIT DATAとCHAR FOR BIT DATAの値に行うと、得られる結果の値はVARCHAR FOR BIT DATAとなります。

+
+ +

バイトのリテラル値は常にVARCHAR FOR BIT DATAです。CHAR FOR BIT DATAではありません。

+
+ +
+ +
+ +
+ + + Propchange: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj32714.html ------------------------------------------------------------------------------ svn:eol-style = native Added: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33215.html ============================================================================== --- websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33215.html (added) +++ websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33215.html Wed Mar 13 13:54:17 2013 @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + +表またはビューあるいは関数式 + + + + +

表またはビューあるいは関数式

+ +
+
{ 表名 |  ビュー名 | 表関数呼び出し}
+    [ [ AS ] 相関名
+        [ (単純列名 [ , 単純列名]* ) ] ] ]
+
+
+ +
+ +
+ + + +
+ + + Propchange: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33215.html ------------------------------------------------------------------------------ svn:eol-style = native Added: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33520.html ============================================================================== --- websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33520.html (added) +++ websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33520.html Wed Mar 13 13:54:17 2013 @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + +MIN関数 + + + + +

MIN関数

+ + +
+

MINは集約関数で、全行に渡る式の最小値を求めます。 +(集約 (集合関数)を参照してください。) +MINは組み込みのデータ型に対してのみ適用可能です。(これにはCHAR、VARCHAR、DATE、TIME等が含まれます。)

+
+ +

構文

MIN ( [ DISTINCT | ALL ] 式 )
+ +
+DISTINCTとALLという限定詞には、重複を取り除いたり、重複を残す働きがあります。しかしこれらの限定詞はMIN式では効果がありません。 +選択式には限定詞は唯一つしか書くことができません。 +例えば次の問合せは許されません。
SELECT COUNT (DISTINCT flying_time), MIN (DISTINCT miles)
+FROM Flights
+
+ +

この式には複数の列への参照や式を書くことができます。しかし、副問合せや他の集約を書くことはできません。 +式は組込みのデータ型として評価されなければならず、従ってメソッドを呼ぶなら組込みのデータ型に評価されなければなりません。(例えば、java.lang.Integerやintを返すメソッドであるなら、INTEGERと評価されます。)もし式がNULLと評価されるのであれば、その値は集約にて無視されます。

+ +

型により最小値を決める規則は異なります。CHAR、VARCHARでは、MINの評価結果は値の末尾にある空白文字数に影響されます。 +例えば'z'と'z 'が列に記録されていたとして、どちらの値が最小値として返されるかを決める方法はありません。なぜならば文字列の比較にて空白文字は無視されるからです。

+ +

結果のデータ型は処理する式のデータ型と同じです。(オーバーフローすることはありません。)

+
+ +
-- 有効ではありません。
+SELECT DISTINCT flying_time, MIN(DISTINCT miles) from Flights
+-- 有効です。
+SELECT COUNT(DISTINCT flying_time), MIN(DISTINCT miles) from Flights
+-- 最も若い日付を探します。
+SELECT MIN (flight_date) FROM FlightAvailability;
+
+ +
+ +
+ +
+ + + Propchange: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33520.html ------------------------------------------------------------------------------ svn:eol-style = native Added: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33562.html ============================================================================== --- websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33562.html (added) +++ websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33562.html Wed Mar 13 13:54:17 2013 @@ -0,0 +1,1186 @@ + + + + + + + + + + + + + + + + + + + + + + +CAST 関数 + + + + +

CAST 関数

+ + + +

CAST関数により値の型を他の型に変換します。また動的な引数(?)やNULL値に型を与えます。

+ +

CASTの式は式を置くことができる場所ならどこにでも置くことができます。

+
+ +

構文

CAST ( [ 式 | NULL | ? ]
+    AS データ型)
+ +

式をキャストする先のデータ型のことを目標型といいます。キャストしようとしている式のデータ型のことを源泉型といいます。

+
+ +

CASTによるSQL-92 データ型間の変換

+
以下に示す表はSQLデータ型にて明示的な変換が有効な、源泉型と目標型を示します。 +この表は何れのデータ型の間で明示的な変換が有効なのかを示します。 +表の最初の列は源泉型を示します。表の最初の行は目標型を示します。 +Yは源泉型から目標型への型の変換が有効であることを示します。 +例えば、二行目の最初のコマにより源泉型はSMALLINTと記述されます。 +二行目のほかのコマは、表の最初の行に書かれている型を目標型として、SMALLINTの型を変換できるか否かを記述します。 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
表 1. SQL-92 データ型間にて明示的な変換が有効な、源泉型と目標型
Types

S
+M
+A
+L
+L
+I
+N
+T

+

I
+N
+T
+E
+G
+E
+R

+

B
+I
+G
+I
+N
+T

+

D
+E
+C
+I
+M
+A
+L

+

R
+E
+A
+L

+

D
+O
+U
+B
+L
+E

+

F
+L
+O
+A
+T

+

C
+H
+A
+R

+

V
+A
+R
+C
+H
+A
+R

+

L
+O
+N
+G
+
+V
+A
+R
+C
+H
+A
+R

+

C
+H
+A
+R
+
+F
+O
+R
+
+B
+I
+T
+
+D
+A
+T
+A

+

V
+A
+R
+C
+H
+A
+R
+
+F
+O
+R
+
+B
+I
+T
+
+D
+A
+T
+A

+

L
+O
+N
+G
+
+V
+A
+R
+C
+H
+A
+R
+
+F
+O
+R
+
+B
+I
+T
+
+D
+A
+T
+A

+

C
+L
+O
+B

+

B
+L
+O
+B

+

D
+A
+T
+E

+

T
+I
+M
+E

+

T
+I
+M
+E
+S
+T
+A
+M
+P

+

X
+M
+L

+
SMALLINTYYYYYYYY-----------
INTEGERYYYYYYYY-----------
BIGINTYYYYYYYY-----------
DECIMALYYYYYYYY-----------
REALYYYYYYY------------
DOUBLEYYYYYYY------------
FLOATYYYYYYY------------
CHARYYYY---YYY---Y-YYY-
VARCHARYYYY---YYY---Y-YYY-
LONG VARCHAR-------YYY---Y-----
CHAR FOR BIT DATA----------YYYYY----
VARCHAR FOR BIT DATA----------YYYYY----
LONG VARCHAR FOR BIT DATA----------YYYYY----
CLOB-------YYY---Y-----
BLOB--------------Y----
DATE-------YY------Y---
TIME-------YY-------Y--
TIMESTAMP-------YY------YYY-
XML------------------Y
+
+
+

変換が有効なら、CASTは可能です。源泉型と目標型の間の大きさの非互換性は、実行時にエラーを起こすことがあります。

+
+ +

但し書き

+
この議論では、DerbyにてSQL-92データ型は、以下のように分類されます。 +
+
+ +

数値型からの型変換

+

数値型は他のいかなる数値型にも変換できます。もし数の小数部ではない部分を切り捨てなければ、変換した目標型で扱えないならば例外が発生します。もし源泉型の小数部を目標型で扱えないならば、目標型にて扱えるよう暗黙裡に源泉型の値は切り捨てられます。たとえば、763.1234をINTEGERに変換すると763となります。

+
+ +

ビット列の型への/からの型変換

+

ビット列の型は他のビット列の型に変換できますが、文字列に変換することはできません。 +文字列の型をビット列の型に変換すると、目標のビット型の長さに会うように、末尾が0で詰められます。BLOB型はより限定されており、明示的な変換を必要とします。 ほとんどの場合、BLOB型からは/へは型変換できません。

+
+ +

日/時の型変換

+

日/時の値はいかなる場合でもTIMESTAMPへ/から型変換できます。 +DATEがTIMESTAMPに型変換された場合、結果のTIMESTAMPにてTIMEの部分は常に00:00:00です。 +もしTIMEがTIMESTAMPに型変換された場合、結果のTIMESTAMPにてDATEの部分は、CASTが実行されたときのCURRENT_DATEの値となります。 +TIMESTAMPがDATEに型変換される場合、TIMEの部分は暗黙裡に切り捨てられます。 +TIMESTAMPがTIMEに型変換される場合、DATEの部分は暗黙裡に切り捨てられます。 +

+
+ +
SELECT CAST (miles AS INT)
+FROM Flights
+-- timestampを文字列に変換する
+INSERT INTO mytable (text_column)
+VALUES (CAST (CURRENT_TIMESTAMP AS VARCHAR(100)))
+-- NULLを適切なデータ型に変換しなければならない。
+SELECT airline
+FROM Airlines
+UNION ALL
+VALUES (CAST (NULL AS CHAR(2)))
+-- doubleをdecimalに変換する。
+SELECT CAST (FLYING_TIME AS DECIMAL(5,2))
+FROM FLIGHTS
+-- SMALLINTをBIGINTに変換する
+VALUES CAST (CAST (12 as SMALLINT) as BIGINT)
+
+ +

XML値の変換

+

明示的にも暗黙的にも、XMLの値はXML以外の如何なる型へも型変換できません。XML型を文字列型にする場合は、XMLSERIALIZE 演算子を使ってください。

+
+ +
+ +
+ +
+ + + Propchange: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33562.html ------------------------------------------------------------------------------ svn:eol-style = native Added: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33602.html ============================================================================== --- websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33602.html (added) +++ websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33602.html Wed Mar 13 13:54:17 2013 @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + +WHERE 節 + + + + +

WHERE 節

+ + +
+

WHERE節は必要に応じて、選択式、DELETE 文、UPDATE 文に置くことができます。 +WHERE節の真偽式に基づいて行を選択することができます。 +式が真と評価された行だけが、結果にて返されます。 +もし、DELETE文であれば削除され、UPDATE文であれば更新されます。

+
+ +

構文

WHERE 真偽式
+

+WHERE節には真偽式を置くことができます。一般的な式の表に一覧された一般式のほとんどは、真偽値になることができます。

+ +

さらに、より一般的な真偽式もあります。表10に一覧された真偽演算子は、一つあるいはそれ以上のオペランドをとり、その式は真偽値を返します。

+
+ +

例


+-- ビジネスクラスの席が予約されていない
+-- 便を見つける。
+SELECT *
+FROM FlightAvailability
+WHERE business_seats_taken IS NULL
+OR business_seats_taken = 0
+-- EMP_ACTとEMPLOYEEという表を結合して、
+-- EMP_ACTの全列に、EMPLOYEEより従業員の苗字(LASTNAME)を加えて
+-- 結果行として返す。
+SELECT SAMP.EMP_ACT.*, LASTNAME
+  FROM SAMP.EMP_ACT, SAMP.EMPLOYEE
+  WHERE EMP_ACT.EMPNO = EMPLOYEE.EMPNO
+-- 販売代理人の社員番号と給料を、彼らの部署の平均賃金と員数と共に、
+--返す。
+-- この問合せでは、まず問合せの一部(DINFO)にて、AS節で新しい列名を与えて、
+-- AVGSALARYとEMPCOUNT列およびWHERE節で使われているDEPTNOを
+-- 取得できるようにする必要がある。
+SELECT THIS_EMP.EMPNO, THIS_EMP.SALARY, DINFO.AVGSALARY, DINFO.EMPCOUNT
+ FROM EMPLOYEE THIS_EMP,
+   (SELECT OTHERS.WORKDEPT AS DEPTNO,
+           AVG(OTHERS.SALARY) AS AVGSALARY,
+           COUNT(*) AS EMPCOUNT
+    FROM EMPLOYEE OTHERS
+    GROUP BY OTHERS.WORKDEPT
+   )AS DINFO
+ WHERE THIS_EMP.JOB = 'SALESREP'
+	   AND THIS_EMP.WORKDEPT = DINFO.DEPTNO
+
+ +
+ +
+ +
+ + + Propchange: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33602.html ------------------------------------------------------------------------------ svn:eol-style = native Added: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33772.html ============================================================================== --- websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33772.html (added) +++ websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33772.html Wed Mar 13 13:54:17 2013 @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + +CURRENT_TIME関数 + + + + +

CURRENT_TIME関数

+ + +
+

CURRENT_TIMEは現在の時刻を返します。一つの文の内であれば、関数は何度呼ばれても同じ値を返します。ですから、カーソルで行を拾う間に経過した時間にかかわらず、この関数は一つに決まった値を返します。

+
+ +

分布

CURRENT_TIME
+

あるいは

+
CURRENT TIME
+
+ +
VALUES CURRENT_TIME
+-- または、
+
+VALUES CURRENT TIME
+
+ +
+ +
+ +
+ + + Propchange: websites/production/db/content/derby/docs/10.4/ja_JP/ref/rrefsqlj33772.html ------------------------------------------------------------------------------ svn:eol-style = native