-1

日時フィールドが1つあるOracleテーブルがあります。選択クエリでは、すべてのフィールド値を取得できますが、.netアプリケーションのタイムフィールド値は取得できません。

select abc.Id, abc.Name, abc.When from details abc where abc.Id='"+1234+"'

誰かが私を提案できますか。

4

1 に答える 1

1

DATEOracle から返されるフィールドの形式は、データベースのデフォルトのNLS設定によって異なります。

Oracle は日付 (および時刻) を内部表現で格納します。日付値を選択すると、必要に応じてフォーマットできます。オラクルの公式説明はこちらです。

フォーマットを強制するには、次を使用して日付を明示的に文字列表現に変換できます。

select abc.Id, 
       abc.Name, 
       TO_CHAR(abc.When, 'DD-MON-YYYY HH24:MI:SS') AS when 
  from details abc 
 where abc.Id='"+1234+"'

WHEN列の時間部分のみが必要な場合は、次のようにします。

select abc.Id, 
       abc.Name, 
       TO_CHAR(abc.When, 'HH24:MI:SS') AS when 
  from details abc 
 where abc.Id='"+1234+"'

これにより、日付と時刻ではなく文字列として返されます。これは、何をしたいかによって、問題ない場合があります。日付と時刻に選択する形式は、Oracle の日付と時刻の形式のいずれかです。ここを参照してください。

それが役に立てば幸い...

于 2012-08-22T09:07:51.977 に答える