問題タブ [to-char]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
141 参照

oracle11g - to_date と to_char の問題

直前に挿入されたレコードを削除する必要があり、データベースに存在し、実際には切り捨てられた特定のシステム日付を使用する必要があります (デュアルリターンから sys_date を選択すると、2014 年 3 月 20 日が返されます)。sys_date si sys_date-1 分の間を使用して最後の 1 分間に挿入されたレコードを選択するために、日付を分単位で表示するようにフォーマットしてから、再度日付に変換しようとしましたが、良い方向に進んでいるようには見えません。例えば:

19/3/2014 11:59:00 PM を返します。これは私の形式マスクと一致しません。正直なところ、内部選択によって文字列が返される理由がよくわかりません (これは非常にイライラします)。

19/3/2014 23:59:00 を返します。どんな助けやアドバイスも大歓迎です:)ありがとう!

0 投票する
1 に答える
539 参照

sql - HH:MI:SS を to_date 関数に追加する

日付フィールドから値を取得するテーブルが DB にあります。この日付値をカーソルに格納します。現在、日付値の形式は DD:MON:YY です。次に、to_char 関数を使用してこの日付を文字に変換し、時刻 00:00:00 を追加します。今、日付形式に変換しようとしましたが、タイムスタンプが追加されず、日付形式が指定したとおりではありません (形式は DB の日付フィールドの形式と同じです)。しかし、to_char 関数は正しい形式を返します。与えました。

コード スニペットの一部を次に示します。

カーソルを次のように初期化しました

これは、次のように値を正しく与えています。

これにタイムスタンプ 00:00:00 を追加し、次のように to_date 操作を実行しました。

得られた結果は次のとおりです。

この問題を解決し、タイムスタンプに追加された文字を日付に変換するのを手伝ってくれる人はいますか?

0 投票する
1 に答える
470 参照

oracle - 10 進形式を処理する TO_CHAR 関数

varchar(19,4) のデータ列があります。適切な 10 進数形式で表示するにはどうすればよいですか。たとえば、1000000 のみではなく 1000000.0000 を表示したいです (サードパーティによるファイル処理のために特定の形式で表示する必要があります)。現在、私は TO_CHAR(columnName,'9999999999999999999.9999') を使用しており、期待される形式で表示されますが、 9 19 回書くよりも良い方法があるかどうか知りたいです!

0 投票する
2 に答える
1500 参照

oracle - ORACLE CONVERT DATE TO VARCHAR2 が間違った日付を返す

次の例のように、varchar2 型への日付変換に問題があります。

to_char を varchar2 フィールドに変換する SYSDATE をテーブルに挿入すると、日付は28/12/1393.

0 投票する
2 に答える
131 参照

oracle - 2 つの日付値を 1 つの列に連結する

かなり単純な質問のはずです。2 つのフィールドがあります。1 つは年フィールド、もう 1 つは月フィールドです。月のフィールドは整数で、6 月の 6 のように 1 桁しかない場合、先行ゼロはありません。2 つのフィールドを連結して、20146 ではなく 201406 を取得したいと考えています。試してみ year||to_char(month,'09')ましたが、フィールドは 2014 06 と表示され、年と月の間にスペースがあります。スペースなしでこれを行う方法はありますか?

0 投票する
2 に答える
800 参照

sql - SQLクエリで月を抽出

従業員テーブルの 3 つの部門すべて (部門 50、60、80) で、すべての部門のすべての従業員の雇用日のどの月 (つまり、1 月、2 月、または 6 月など) を見つけることができますか?

ヒント: 1 月は、従業員が部門 50、60、および 80 に採用された月です。

テーブルのデータはおそらくこのようなものです

作成する SQL の出力は、次のようになります。

どこから始めればいいのか本当にわかりません。助けてください!

0 投票する
1 に答える
2947 参照

postgresql - PostgreSQL - to_char 関数で使用する倍精度フィールドからすべての整数桁を取得する

Postgres 9.0 のドキュメントに記載されているように、データ型は 10 進数で 15 桁の精度と 8 バイトのストレージを持ち、フィールドに格納されるdouble precision通常 (8 バイト) より大きい整数は概算されます。私が間違っている場合は修正してください。この数値をキャストしようとすると、次のエラーが発生するため、通常よりも大きいと言います。bigintdouble precisionbigintbigint

double precisionこれをandに変換してnumeric両方を比較しようとすると、同じであることがわかります。

関数を使用すると、to_char()異なる値が返されます。

to_char で返される値を見ることができるように - 数値の組み合わせは正しいですが、to_char - 倍精度はdouble precision2.11116514527303e+20の指数部分から一貫性を失います

それが何かに影響するかどうかはわかりませんが、ロケールlc_numericは「es_PY.utf8」です

この場合、実装するのはまったく役に立ちdouble precisionませんか、それとも倍精度フィールドを保持する別の方法ですか? それは常に推奨されるオプションです。元の数字をすべて保持するnumericfromへのキャストのタイプがありますか?double precision

追加情報については、CentOS 6 x86-64 サーバーで実行されている PostgreSQL 9.0 インストールがあります。

0 投票する
1 に答える
1585 参照

postgresql - Netezza TO_CHAR 関数が適切に評価されていませんか?

ハードコードされた日付で実行された場合、テーブルに正しい数の行 (170K+) を挿入するクエリに問題があります。問題は、ハードコーディングされた日付を日付関数に置き換えることによって自動化しようとすると、クエリは新しく切り捨てられたテーブルに単一の行のみを挿入することです。

ハードコーディングされた日付の例: '20150401'

date 関数を使用した同じ日付のサンプル:

上記の TO_CHAR 関数は、個別に実行すると、目的の結果を返します。

以下は、1 行が挿入されるクリーンアップされたクエリのバージョンです。

かなりのテストと調査を行いましたが、返されるレコードの量が大幅に異なる理由について考えられる原因は見つかりませんでした。

ありがとうございました、

ジャスティン