文字列または数値の先頭にゼロを追加します。
構文
LEADINGZEROS(文字列/数値, 長さ)
パラメーター
名前 | 型 | 説明 |
---|---|---|
文字/数値 | 文字 数値 |
先頭のゼロを追加するフィールド、式、またはリテラル値。 先頭と末尾のスペースは、先頭のゼロが追加される前に、文字値、および文字式の結果から、自動的に切り捨てられます。 |
長さ | 数値 |
出力文字列の長さ。 メモ 文字/数値の値のうち、長さを超える部分は左から切り捨てられます。 |
出力
文字。
例
基本的な例
文字型の入力値
次の例では、長さが文字列/数値の文字数より大きいので、先頭に 3 つのゼロが追加されて "00235" が返されます。
LEADINGZEROS("235", 6)
次の例では、長さが文字/数値の文字数より小さいので、結果が左から切り詰められて "35" が返されます。
LEADINGZEROS("235", 2)
整数の入力値
"235" が返されます。
LEADINGZEROS(235, 3)
次の例では、長さが文字列/数値の桁数より大きいので、先頭に 2 つのゼロが追加されて "00235" が返されます。
LEADINGZEROS(235, 5)
小数の入力値
LEADINGZEROS( ) は小数点を削除するため、"023585" を返します。
LEADINGZEROS("235", 6)
負の入力値
LEADINGZEROS( ) は負の記号を削除するため、"0644894" を返します。
LEADINGZEROS(-6448.94, 7)
高度な例
数値を含む文字フィールドに先頭ゼロを追加する
Employee_Number フィールドには値 "254879" があります。 値を先頭ゼロ埋めの 10 桁の文字列に変換する必要があります。
COMMENT "0000254879" を返します ASSIGN v_str_length = 10 LEADINGZEROS(Employee_Number, v_str_length)
テーブルを関連付ける際にキー フィールドを一致させる
2 つのテーブル、Ar と Customer がある場合に、これらをキー フィールドである CustNum で関連付けてさらに分析するとします。 ただし、2 つのキー フィールドに異なるデータ形式があり、値が一致しなくなります。
テーブル | キー フィールド | データ型 | フィールド長 | 例 |
---|---|---|---|---|
<ar> | CustNum | 数値 | 4 | 4455 |
Customer | CustNo | 文字 |
6 (数値の先頭をゼロ埋め) |
"004455" |
フィールド同士を関連付けの際に調整するには、Ar テーブル内に、 LEADINGZEROS( ) 関数を使用する演算フィールドを作成します。 次いで、この演算フィールドを使って関連付けを行います。
OPEN Customer INDEX ON CustNo TO Customer_on_CustNo OPEN Ar COMMENT CustNum フィールドを文字データ型に変換して先頭にゼロを追加する演算フィールド CustNum_Zeros を作成します。 DEFINE FIELD CustNum_Zeros COMPUTED LEADINGZEROS(CustNum,6) COMMENT 新しく作成した演算フィールド CustNum_Zeros を使って Ar テーブルを関連付けます。 DEFINE RELATION CustNum_Zeros WITH Customer INDEX Customer_on_CustNo
備考
機能の仕組み
この関数は、指定する出力値が入力値の長さより大きい場合に、先頭のゼロを出力に追加します。 この関数は、さまざまな種類の文字および数値の入力を許可し、文字列を出力します。 この関数は、Unicode および非 Unicode の Analytics で同様に動作します。
この関数は、小切手番号や、発注番号、請求書番号フィールドなどの、先頭にゼロを必要とするフィールドを正規化させるためによく利用されます。
入力長さと出力値
入力長さ | 出力値 |
---|---|
長さ未満の文字列/数値 | 先頭ゼロを追加 |
長さと等しい文字列/数値 | ゼロが追加されない |
長さより大きい文字列/数値 | 値は左から切り捨てられる |
負の記号、千の位の桁区切り、小数点
入力値 | 結果 |
---|---|
数値 |
LEADINGZEROS( ) では、数値型の入力値から、負の記号、千の位の桁区切り、小数点が削除されます。 削除された記号は、入力値の長さに含まれません。 |
文字 |
LEADINGZEROS( ) では、文字型の入力値からは、負の記号、千の位の桁区切り、小数点は削除されません。 削除された記号は、入力値の長さに含まれます。 |