TO_CHAR(tochar-expression[,format]) TOCHAR(tochar-expression[,format])
| 変換される論理日付、時刻、または数式。 | |
| 形式コード | 意味 |
|---|---|
| D | 曜日 (1-7、1 は日曜日を指す) |
| DD | 2 桁の日付 (01-31) |
| DY | 現在のロケールの WeekdayAbbr プロパティによって指定される、曜日の略名。既定は、Sun Mon Tue Wed Thu Fri Sat です。 |
| DAY | 現在のロケールの WeekdayName プロパティが指定する曜日名。既定は、Sunday Monday Tuesday Wednesday Thursday Friday Saturday です。 |
| MM | 2 桁の月数 (01-12、01 = 1 月) |
| MON | 現在のロケールの MonthAbbr プロパティによって指定される月の略名。既定は、Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec です。 |
| MONTH | 現在のロケールの MonthName プロパティによって指定される正式な月名。既定は、January February March April May June July August September October November December です。 |
| YYYY | 4 桁の年数。 |
| YYY | 下 3 桁の年数。 |
| YY | 下 2 桁の年数。 |
| Y | 下 1 桁の年数。 |
| RR | 下 2 桁の年数。 |
| J | ユリウス日 (紀元前 (BCE) 4713 年 1 月 1 日からの日数)。ユリウス日の形式は、常に DD MON YYYY を返します。 |
| 形式コード | 意味 |
|---|---|
| HH | 時間 (1 ~ 12) |
| HH12 | 時間 (1 ~ 12) |
| HH24 | 時間 (0 ~ 23) |
| MI | 分 (0 ~ 59) |
| SS | 秒 (0 ~ 59) |
| SSSSS | 午前 0 時 00 分からの秒数 (0 ~ 86388) |
| AM | 午前 |
| PM | 午後 |
&sql(SELECT TO_DATE('2004-10-24','YYYY-MM-DD'), TO_DATE('59832','YYYY-MM-DD') INTO :a,:b FROM Sample.Person) IF SQLCODE'=0 { WRITE !,"Error code ",SQLCODE } ELSE { WRITE !,a WRITE !,$ZDATE(a) WRITE !,b }
&sql(SELECT TO_CHAR(59832,'YYYY-MM-DD'), TO_CHAR(2004-10-24,'YYYY-MM-DD') INTO :a,:b FROM Sample.Person) IF SQLCODE'=0 { WRITE !,"Error code ",SQLCODE } ELSE { WRITE !,a WRITE !,b }
| 形式コード | 例 | 説明 |
|---|---|---|
| 9 | 9999 | 指定した桁数で値を返します。値が正の場合は先頭にスペースが付きます。負の場合は先頭にマイナス記号が付きます。固定小数点の整数部にゼロを戻すゼロ値を除いては、先頭のゼロは空白になります。 |
| 0 | 09999 99990 |
先行するゼロを付けて戻します。 後のゼロを付けて戻します。 |
| $ | $9999 | 先頭に $ を付けて値を返します。ドル記号の前には、正の数を表す空白が入ります。 |
| B | B9999 | 整数部がゼロの場合、( |
| S | S9999 9999S |
先頭にマイナス記号 "-" を付けて負の値を返します。先頭にプラス記号 "+" を付けて正の値を返します。 末尾にマイナス "-" を付けて負の値を返します。末尾にプラス記号 "+" を付けて正の値を返します。 |
| D | 99D99 | 指定された位置に小数点区切り文字を配置して返します。使用される小数点区切りは、ロケールで定義されたものと同じです。既定はピリオド "." です。 |
| G | 9G999 | 指定された位置にグループ・セパレータを配置して返します。使用されるグループ・セパレータは、ロケールで定義されたものと同じです。既定はコンマ "," です。10 進法の右側にグループ・セパレータが表れることはありません。 |
| FM | FM90.9 | 先頭や末尾に空白がない値を返します。 |
| , | 9,999 | 指定された位置にコンマを付けて返します。10 進法の右側にコンマが表れることはありません。 |
| . | 99.99 | 指定した位置に 10 進小数点 (ピリオド ".") を返します。 |
&sql(SELECT TO_CHAR(1000,'9999'), TO_CHAR(10,'9999') INTO :numfull,:numshort FROM Sample.Person) IF SQLCODE'=0 { WRITE !,"Error code ",SQLCODE } ELSE { WRITE !,"Formatted number:",numfull WRITE !,"Formatted number:",numshort WRITE !,"Note leading blanks" }
&sql(SELECT TO_CHAR(1000,'9,999.99'), TO_CHAR(1000,'9G999D99') INTO :comma,:groupsep FROM Sample.Person) IF SQLCODE'=0 { WRITE !,"Error code ",SQLCODE } ELSE { WRITE !,"Formatted number:",comma WRITE !,"Formatted number:",groupsep WRITE !,"Note leading blank" }
&sql(SELECT TO_CHAR(10,'99.99'), TO_CHAR(-10,'99.99'), TO_CHAR(10,'S99.99'), TO_CHAR(-10,'S99.99'), TO_CHAR(10,'99.99S'), TO_CHAR(-10,'99.99S') INTO :pos,:neg,:poslead,:neglead,:postrail,:negtrail FROM Sample.Person) IF SQLCODE'=0 { WRITE !,"Error code ",SQLCODE } ELSE { WRITE !,"Formatted number:",pos WRITE !,"Formatted number:",neg WRITE !,"Formatted number:",poslead WRITE !,"Formatted number:",neglead WRITE !,"Formatted number:",postrail WRITE !,"Formatted number:",negtrail WRITE !,"Note use of leading blank" }
&sql(SELECT TO_CHAR(12345678.90,'99G999G999D99'), TO_CHAR(12345678.90,'FM99G999G999D99') INTO :num,:fmnum FROM Sample.Person) IF SQLCODE'=0 { WRITE !,"Error code ",SQLCODE } ELSE { WRITE !,"Formatted number:",num WRITE !,"Formatted number:",fmnum WRITE !,"Note leading blank" }
&sql(SELECT TO_CHAR(1234567890,'$9G999G999G999'), TO_CHAR(1234567890,'S$9G999G999G999'), TO_CHAR(12345678.90,'$99G999G999D99') INTO :d,:sd,:dD FROM Sample.Person) IF SQLCODE'=0 { WRITE !,"Error code ",SQLCODE } ELSE { WRITE !,"Formatted number:",d WRITE !,"Formatted number:",sd WRITE !,"Formatted number:",dD WRITE !,"Note leading blanks" }
&sql(SELECT TO_CHAR(1234567.89,'9'), TO_CHAR(1234567.89,'99'), TO_CHAR(1234567.89,'99D99') INTO :a,:b,:c FROM Sample.Person) IF SQLCODE'=0 { WRITE !,"Error code ",SQLCODE } ELSE { WRITE !,"Formatted number:",a WRITE !,"Formatted number:",b WRITE !,"Formatted number:",c }
&sql(SELECT TO_CHAR(1234567.4999,'9999999D9'), TO_CHAR(1234567.91,'9999999') INTO :a,:b FROM Sample.Person) IF SQLCODE'=0 { WRITE !,"Error code ",SQLCODE } ELSE { WRITE !,"Formatted number:",a WRITE !,"Formatted number:",b }
| Copyright © 1997-2006, InterSystems Corp. | Build: Caché v5.1 (826U-0) | Last updated: 2006-03-03 02:13:26 | Source: RSQL_tochar.xml |