指定した項目属性または変数の値が空の場合に True を返します。
Attribute |
&Variable.IsEmpty()
戻されるタイプ: Boolean
データタイプ: Audio、
Blob、
BlobFile、
Boolean、
Character、
VarChar、
LongVarChar、
Date、
DateTime、
Geography、GeoLine, GeoPoint, GeoPolygon、
GUID、
Image、
Numeric、
Video ジェネレーター: .NET、
.NET Framework、
Java、RPG、Cobol、Ruby (GeneXus X Evolution 3 まで)、Visual FoxPro (GeneXus X Evolution 3 まで)
項目属性を持つメソッドを使用する場合、条件を
サーバー (DBMS) で評価するか、
クライアント (アプリケーションサーバー) で評価するかによって返される値が異なります。
クライアント側で評価する場合、項目属性が Null (または空) のときに True を返します (ほとんどの場合、GeneXus は項目属性の Null 値を、予期したとおりに処理します)。
サーバー側で評価する場合、項目属性が空の (Null ではない) ときだけ True を返します。
最後の空白は無視されます。
次の表に、DBMS とデータタイプ別に空の値を示します。
DBMS |
Numeric |
Date |
Datetime |
Character (n) |
VarChar |
Long VarChar |
Blob |
SQL Server |
0 |
1753-01-01 00:00:00.000 |
1753-01-01 00:00:00.000 |
n 個の空白 |
<空文字列> |
<空文字列> |
<空のファイル> |
Oracle |
0 |
0001-01-01 0:00:00 |
0001-01-01 0:00:00 |
n 個の空白 |
1 個の空白 |
1 個の空白 |
<空のファイル> |
DB2 UDB |
0 |
0001-01-01 |
0001-01-01 00:00:00.000 |
n 個の空白 |
<空文字列> |
<空文字列> |
<空のファイル> |
DB2 for iSeries |
0 |
"00000000" または 0001-01-01(*) |
0001-01-01-00.00.00 |
n 個の空白 |
<空文字列> |
<空文字列> |
<空のファイル> |
MySQL |
0 |
1000/01/01 |
1000/01/01 00:00 |
<空文字列> |
<空文字列> |
<空文字列> |
<空のファイル> |
PostgreSQL |
0 |
0001-01-01 |
0001-01-01 0:00:00 |
n 個の空白 |
<空文字列> |
<空文字列> |
<空のファイル> |
Informix |
0 |
0001-01-01 |
0001-01-01 0:00:00 |
n 個の空白 |
<空文字列> |
<空文字列> |
<空のファイル> |
例 1: サーバー側の評価
この場合は、空の値だけが取得されます。
For each
Where attribute.IsEmpty() // サーバー側で実行
...// 空の項目属性だけが処理される
EndFor
注: 一部の
Where 条件はクライアント側で処理できます。ナビゲーショングループ (For Each、データプロバイダー、グリッド) の
Where/Condition 節に、
DBMS で評価できない関数またはメソッドが含まれる場合に発生する可能性があります。この場合、ナビゲーション表示内の該当する条件に警告アイコン
が表示されます。その上にマウスポインターを置くと、次のようなメッセージが表示されます: "この制約はクライアントで評価されるため、パフォーマンスが低下する恐れがあります"
例 2: クライアント側の評価
このコードは、クライアント側で評価されます。Null と空の両方の値が取得されます。
For Each
If attribute.IsEmpty() // クライアント側で実行
...// 空と Null の両方の項目属性が処理される
EndIf
EndFor
Nullvalue 関数 IsNull 関数 Null 関数