Oracle Databaseを使用する場合は、TO_CHAR(datetime)を使用できます。 分数秒を含む日時値のさまざまな部分を返す関数。
日時の値からFFを使用します。 フォーマット要素。
例
デモンストレーションの例を次に示します。
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF')
FROM DUAL; 結果:
123456789
FFに数値を追加して、精度を制限することもできます。 パート:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF5')
FROM DUAL; 結果:
12345
1にすることができます 9まで 。
秒の部分を追加
上記の例では、秒の小数部のみを返し、他には何も返しませんでした。
秒の部分と小数秒を含めることができます。これを行うには、SSを使用します 。 Xも使用できます 基数文字(整数部分と小数部分を区切るために使用される記号)を指定するには:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL; 結果:
37.123456789
独自の基数文字を明示的に指定することもできますが、たとえば、終止符(.) )、X format要素は、さまざまな言語/地域間での移植に役立ちます。
上記の例を実行すると、NLS_TERRITORY パラメータがAUSTRALIAに設定されました 、その結果、基数文字が終止符になりました。
NLS_TERRITORYを変更するとどうなりますか GERMANYへのパラメータ :
ALTER SESSION SET NLS_TERRITORY = 'GERMANY';
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL; 結果:
37,123456789
これで、基数文字はコンマになります。
実際にはNLS_NUMERIC_CHARACTERS 基数文字に使用される文字を指定するパラメーター。ただし、NLS_TERRITORYを変更する パラメータは、NLS_NUMERIC_CHARACTERSを暗黙的に変更します パラメータ。 NLS_NUMERIC_CHARACTERSを明示的に更新することもできます 必要に応じてパラメータ。この場合、NLS_TERRITORY パラメータは変更されません。
日時値のフォーマットに使用できるフォーマット要素の完全なリストについては、Oracleの日時フォーマット要素のリストを参照してください。