お世話になっております。
Oracle SQL*PLUSでデータを打ち込んでいるところなのですが、
表示の仕方で分からないところがあるので、
どなたか教えていただけないでしょうか?

date型で指定して日付カラムを作ったところに
TO_DATE('2009-01-02 10:00:10','YYYY-MM-DD HH24:MI:SS'),
と入力したのですが、select文でデータを検索したところ
DATE
--------
09-01-02
と返ってきました。これを分、秒まで表示させるには
どうしたらよいでしょうか??
よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';


セッションが変更されました。
SQL> select sysdate from dual;
SYSDATE
-------------------
2009-05-27 14:52:50
SQL>
    • good
    • 1
この回答へのお礼

セッションの変更をすれば、to_charやto_dateを
使わずとも結果を得られるのですね!!
ありがとうございます。助かりました。

お礼日時:2009/05/28 14:20

sysdateとdualを使っているのは一々、テーブルを作成するのが面倒だからです。


それに、date型のカラムにto_charするのとsysdateをto_charするのは書式上同一です。

to_date : char型をdate型に変換する。
to_char : date型をchar型に変換する。

sysdateでもなんでも、date型に対してto_charで書式していすれば
その書式どおりに表示できます。

(1) date型に文字列'2009-01-02 10:00:10'をto_dateで型変換して入れる。
(2) date型をto_charで書式指定してselectする。

あくまで表示上の問題です。

SQL> create table a (a date);
表が作成されました。

insert into a values(to_date('2009/01/01/ 10:00:00','YYYY/MM/DD HH24:MI:SS'));

1行が作成されました。
SQL> select to_char(a,'YYYY/MM/DD HH24:MI:SS') from a;

TO_CHAR(A,'YYYY/MM/
-------------------
2009/01/01 10:00:00
    • good
    • 0
この回答へのお礼

分かりやすい説明ありがとうございます!
to_dateとto_charがごっちゃになっていたので
お陰でスッキリして、結果を得ることができました。
ありがとうございます。

お礼日時:2009/05/27 14:07

date型のフォーマット指定はTO_DATEではなくTO_CHARですよ。


※TO_DATEはchar型をdate型にします。

select to_date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual
TO_DATE(
--------
09-05-26

select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual
TO_CHAR(SYSDATE,'YY
-------------------
2009-05-26 19:29:52

この回答への補足

ご回答ありがとうございます。
今、テストデータを作成したくてデータ入力をしているので、
現在の時間を取得したいのではなく、ある任意の時間を入力
したいのですが、
TO_CHAR(20090102100010,'YYYY-MM-DD HH24:MI:SS')
と入力したらエラーになってしまいました。
SYSDATEではない場合はどうしたよいでしょうか?

補足日時:2009/05/27 08:55
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qカレンダーを作成し、特定の日付の上に丸印をつける方法はありますか。

カレンダーを作成し、特定の日付の上に丸印をつける方法はありますか。
日付の上に丸印を付けると、下の日付の数字が消えてしまいます。

Aベストアンサー

エクセルを使ってのカレンダー作成だと仮定して、NO.1さんの回答の補足をします。

まず「オートシェイプ」の○機能を使って図形を描くと、図形の周囲を囲むように○が表示されますよね。
ここをダブルクリックすると「オートシェイプの書式設定」が出てきます。
その中の「色と線」の塗りつぶし"色"の部分が初期設定の「自動(白)」になっていると思いますが、ここを「塗りつぶしなし」に変更すると下の線や文字が表示されるようになります。

ちなみに、円を描くときにシフトキーを押しながら描くと、楕円ではなく「まん丸」な円を描くことが出来ますよ。

Qdate '0001-01-01'からの日数

Oracle XEとC#4とでは、0001/1/1からの日数に少し差があるみたいなんです。何ででしょうか?

Oracle
> select '0101' n, date '0101-01-01' - date '0001-01-01' m from dual
> union all select '0201' n, date '0201-01-01' - date '0001-01-01' m from dual
> ~
> union all select '2001' n, date '2001-01-01' - date '0001-01-01' m from dual
> union all select '2010' n, date '2010-01-01' - date '0001-01-01' m from dual

C#
> static void Main(string[] args) {
>   DateTime z = new DateTime(0, DateTimeKind.Utc);
>   foreach (int i in new int[] { 101, 201, 301, 401, 501, 601, 701, 801, 901, 1001,
>     1101, 1201, 1301, 1401, 1501, 1601, 1701, 1801, 1901, 1970, 2001, 2010, }) {
>     TimeSpan s = new DateTime(i, 01, 01, 0, 0, 0, DateTimeKind.Utc) - z;
>     Console.WriteLine("{0:0000}{1, 10}", i, s.TotalDays);
>   }
>   Console.ReadLine();
> }

| | C# | Oracle | 差 |
| 0101/01/01 | 36,524 | 36,525 | -1 |
| 0201/01/01 | 73,048 | 73,050 | -2 |
| 0301/01/01 | 109,572 | 109,575 | -3 |
| 0401/01/01 | 146,097 | 146,100 | -3 |
| 0501/01/01 | 182,621 | 182,625 | -4 |
| 0601/01/01 | 219,145 | 219,150 | -5 |
| 0701/01/01 | 255,669 | 255,675 | -6 |
| 0801/01/01 | 292,194 | 292,200 | -6 |
| 0901/01/01 | 328,718 | 328,725 | -7 |
| 1001/01/01 | 365,242 | 365,250 | -8 |
| 1101/01/01 | 401,766 | 401,775 | -9 |
| 1201/01/01 | 438,291 | 438,300 | -9 |
| 1301/01/01 | 474,815 | 474,825 | -10 |
| 1401/01/01 | 511,339 | 511,350 | -11 |
| 1501/01/01 | 547,863 | 547,875 | -12 |
| 1601/01/01 | 584,388 | 584,390 | -2 |
| 1701/01/01 | 620,912 | 620,914 | -2 |
| 1801/01/01 | 657,436 | 657,438 | -2 |
| 1901/01/01 | 693,960 | 693,962 | -2 |
| 1970/01/01 | 719,162 | 719,164 | -2 |
| 2001/01/01 | 730,485 | 730,487 | -2 |
| 2010/01/01 | 733,772 | 733,774 | -2 |

もしかして、どこか間違ってますか?

Oracle XEとC#4とでは、0001/1/1からの日数に少し差があるみたいなんです。何ででしょうか?

Oracle
> select '0101' n, date '0101-01-01' - date '0001-01-01' m from dual
> union all select '0201' n, date '0201-01-01' - date '0001-01-01' m from dual
> ~
> union all select '2001' n, date '2001-01-01' - date '0001-01-01' m from dual
> union all select '2010' n, date '2010-01-01' - date '0001-01-01' m from dual

C#
> static void Main(string[] args) {
>   DateTime z = new DateTime...続きを読む

Aベストアンサー

多分、グレゴリオ暦の扱いが違うんだと思います。
・Ruby
require 'date'
hoge = Date.new(2010,12,1)
piyo = Date.new(1,1,1.)
puts (hoge-piyo).to_i
→ 734108
hoge = Date.new(2010,12,1)
piyo = hoge = Date.new(1582,10,15) #グレゴリオ暦開始日
puts (hoge-piyo).to_i
→156371
・Python
import datetime
hoge = datetime.datetime(2010,12,1)
piyo = datetime.datetime(1,1,1)
print hoge - piyo
→734106
hoge = datetime.datetime(2010,12,1)
piyo = datetime.datetime(1582,10,15)
print hoge - piyo
→156371
・Oracle
select to_date('2010-12-01','yy-mm-dd') - to_date('0001-01-01','yyyy-mm-dd') from dual
→734108
select to_date('2010-12-01','yy-mm-dd') - to_date('1582-10-15','yyyy-mm-dd') from dual
→156371

多分、グレゴリオ暦の扱いが違うんだと思います。
・Ruby
require 'date'
hoge = Date.new(2010,12,1)
piyo = Date.new(1,1,1.)
puts (hoge-piyo).to_i
→ 734108
hoge = Date.new(2010,12,1)
piyo = hoge = Date.new(1582,10,15) #グレゴリオ暦開始日
puts (hoge-piyo).to_i
→156371
・Python
import datetime
hoge = datetime.datetime(2010,12,1)
piyo = datetime.datetime(1,1,1)
print hoge - piyo
→734106
hoge = datetime.datetime(2010,12,1)
piyo = datetime.datetime(1582,10,15)
print hoge - piyo
→1...続きを読む

Q原付の保証書に販売店印と日付が無いんです。

原付を買いましたが保証書に日付と販売店印がありません。
買ったところに電話しました。
『無くても買った日付もわかるし何かあったら直しますよ』とのこと。
田舎の近所のバイク屋のおじいさんです。

原付の保証書に販売店印と日付が無くってもかいませんか?

Aベストアンサー

保障期間を、ある程度過ぎても、保障を伸ばしてもらえると思っても良いと思います。おじさんも「直しますよ」と言ってくれていますし。消耗品は、直してくれませんが。
安くて品数の豊富な大手電気店より街の電気屋さんは、融通が利くと言いますし。
自賠責もその店で加入したなら、領収書とともに、1ヶ月の無料点検もありますし。証拠は、沢山あります。
購入して半年になる私の、バイクにも販売店の印しか捺印していなかったです。(今、確認しました)

QORA-00959: 表領域'****'は存在しません

いつもお世話になっております。
既存のSQLスクリプトを流してテーブルを作成しようとしているのですが、
ORA-00959: 表領域'TS_TB_DATA_1M'は存在しません
というエラーが出てしまいます。
スクリプトの内容は以下の通りです。
CREATE TABLE tb_mstcom_111 (
trhksk_cdCHAR (6),
         ・
         ・
        途中省略
         ・
         ・ 
sishkshnprg_cdVARCHAR2 (30),
skj_flgCHAR (1),
CONSTRAINT tb_mstcom_111 PRIMARY KEY (trhksk_cd) USING INDEX TABLESPACE ts_ix_data_1m
)
TABLESPACE ts_tb_data_1m;

単純なクリエイト文等しか経験したことが無い為、サイトを検索して調べてはみたのですが、初心者の私にはどれも??な感じで困っています。
どなたか原因がわかる方ご教授お願い致します。

いつもお世話になっております。
既存のSQLスクリプトを流してテーブルを作成しようとしているのですが、
ORA-00959: 表領域'TS_TB_DATA_1M'は存在しません
というエラーが出てしまいます。
スクリプトの内容は以下の通りです。
CREATE TABLE tb_mstcom_111 (
trhksk_cdCHAR (6),
         ・
         ・
        途中省略
         ・
         ・ 
sishkshnprg_cdVARCHAR2 (30),
skj_flgCHAR (1),
CONSTRAINT tb_mstcom_111 PRIMARY KEY (trhksk_c...続きを読む

Aベストアンサー

エラーの通り、表領域がないためです。
ORACLEのテーブルはすべて表領域に作られます。
ですのでテーブルを作る前に表領域tb_mstcom_111を先に作成するか、上記のtb_mstcom_111の部分を存在する表領域に変更すればいいと思います。
表領域の作成はCREATE TABLESPACEで可能です。

Qはがきの日付印について

郵便はがきを出すことになりました。

これは、郵便局の日付印をもらうためです。

一般に、確定日付というのだそうですが、日付の証明になるということで利用しようと思いました。ところが、最近は機械化のせいか日付の薄いスタンプがよくあり、できればはっきりした日付印が欲しいのですが、この場合どうしたらいいのでしょうか。

ポストではなく窓口で投函すれば、スタンプははっきり押してもらえるのでしょうか。それとも特別に窓口でお願いすべき、また、お願いできるのでしょうか。

教えてください。

Aベストアンサー

元・郵便局員です。

1.郵便物の集配を行う郵便局の場合
郵便窓口および郵便時間外窓口(ゆうゆう窓口)の営業時間内にお越しいただき、
「この場で、消印を押してください!」
とお申し出いただければ、押印します。

2.郵便物の集配を行わない郵便局の場合
「郵便局長が業務上差し支えないと判断した場合」に限り、その場で押印します。
支障があると判断した場合は、「押印しません」。

上記は、ごく普通の消印の場合です。http://www.geocities.co.jp/Playtown-Domino/5995/phi_gif/049.gif


つぎに、普通でない消印の場合ですが、最初の回答者様の回答にあります「風景スタンプ」(風景入り通信日付印)などの場合は、業務上の支障の有無に関係なく、差し出された郵便局で押印します。なお、全ての郵便局には配備されていないため、差し出し前にご確認ください。

Qoracle 文字列 01:45 を時間に変換した

こんにちは。

現在 oracle11を使用しています。

作業時間 を 文字型で '01:45' として格納したデータを
Date型の'1.75'というデータに変換したいのですが、どうしたらできるでしょうか。

ご教授ください。

Aベストアンサー

こんにちわ。

> 作業時間 を 文字型で '01:45' として格納したデータを
> Date型の'1.75'というデータに変換したいのですが、どうしたらできるでしょうか。
先ずDate 型についてですが内部では7バイト数値型で、整数部で基準日からの経過日数を
小数部で当日の経過秒を表しています。
01:45 は、時:分 を表していると思いますが、日付の部分はどのようにお考えでしょうか?

強引にやれば、to_date('01:45', 'HH24:MI') ですが、これでは日付情報が欠落
しているため、以下のように目的の値とならない可能性があります。

SQL> select sysdate, to_char(to_date('01:45', 'HH24:MI'), 'YYYY/MM/DD HH24:MI:SS') from dual;

SYSDATE TO_CHAR(TO_DATE('01:45','HH24:MI'),'YYYY/MM/DDHH24:MI:SS'
-------- ---------------------------------------------------------
14-04-23 2014/04/01 01:45:00

こんにちわ。

> 作業時間 を 文字型で '01:45' として格納したデータを
> Date型の'1.75'というデータに変換したいのですが、どうしたらできるでしょうか。
先ずDate 型についてですが内部では7バイト数値型で、整数部で基準日からの経過日数を
小数部で当日の経過秒を表しています。
01:45 は、時:分 を表していると思いますが、日付の部分はどのようにお考えでしょうか?

強引にやれば、to_date('01:45', 'HH24:MI') ですが、これでは日付情報が欠落
しているため、以下のように目的の値とならない可能性があ...続きを読む

Q日付の薄い領収印について

次回の確定申告で医療費控除の手続きをする者です。
通院・入院の領収書をチェックしていたところ、どれも領収印が薄く日付の判別が出来ないことに気付きました。日付印とは別に発行日も印刷されているので、それで判るものもありますが、肝心の高額な入院費の領収書は、支払った1日前の日付で印刷されており、隠すようにその上に収入印紙が貼られていて、なおかつ領収印は読み取れない程薄いです。こんな状態で発行しておいて、「再発行はいたしません」と書かれてあります。来年申告の時期になって『無効』になったりしないか心配です。これで大丈夫でしょうか?
よろしくお願いします。

Aベストアンサー

医療費控除は、その年1月1日~12月31日までに実際に支払ったものが対象となりますので、そもそもは日付が確認できるべきものでなければならないとは思います。

ただ、実際には、ひとつひとつチェックするとは限りませんし、明らかに別の年の領収書でない限りは、薄くて良く見えない程度であれば、そのまま受け付けてもらえるものと思います。

気になるようでしたら、ご自分で別途で、一覧表のようなものを作られたら良いと思います。
医療機関と、治療を受けられた方の名前と、支払った月日と金額ですね。
それと、医療費控除には、通院等にかかる電車・バス等の公共交通機関による交通費も対象となり、これについては領収書は不要で、メモ書き等で良いので、このような一覧表の一番右等に、かかった交通費を記載している方も結構いらっしゃいますし、そのような表があれば、明らかに違う年とわからない限りは否定もし難い訳ですので、より無難とは思います。
エクセルを使えるようであれば、エクセルで作られても良いと思います。
(もちろん、そのような日ごとの一覧表が必須、という訳ではありませんので、それがなくても認められるとは思いますが)

医療費控除は、その年1月1日~12月31日までに実際に支払ったものが対象となりますので、そもそもは日付が確認できるべきものでなければならないとは思います。

ただ、実際には、ひとつひとつチェックするとは限りませんし、明らかに別の年の領収書でない限りは、薄くて良く見えない程度であれば、そのまま受け付けてもらえるものと思います。

気になるようでしたら、ご自分で別途で、一覧表のようなものを作られたら良いと思います。
医療機関と、治療を受けられた方の名前と、支払った月日と金額で...続きを読む

QOracleで ある文字列<-> UTF-8に変換する関数,はありますか?

たとえば、
「あ」 を
「+MEI-」
に変換する また その逆をする関数はありますか?

Aベストアンサー

>「あ」 を
>「+MEI-」
>に変換する

convert('あ','UTF8')

> また その逆をする関数はありますか?

convert('あ','???????','UTF8')
????の部分は、変換先のキャラクタセット。

Qワードで日付印の文字が表示されない

電子メールでワードの報告書が送られてきました。
承認欄に3人の日付印(丸くて真ん中に日付、上下に苗字)が貼られているのですが1人の印だけ丸のなかに日付しか入っていませんでした。
印刷プレビューでみても入っていません。
しかし他の人のパソコンで開いたところちゃんと苗字まで入っていました。どのようにしたら私のパソコンでも正しく表示できますか?

Aベストアンサー

No.3のasyuです。
ワードの新規画面に問題の部分を貼り付けした場合はいかがでしょうか?
表示される場合は、フォントキャッシュの破損かもしれません。
パソコンをセーフモードで起動して、何もしないで終了しますと回復すると思います。

ワード自体の不具合が考えられる場合は、こちらを試してみてください。
Word 2007、Word 2003、または Word 2002 の起動時または使用時に発生する問題のトラブルシューティング方法
http://support.microsoft.com/kb/921541/ja

Word 2000 起動時に問題が発生する場合の対処方法
http://support.microsoft.com/default.aspx?scid=kb;ja;880994

QOracle 10gでORA-12154:TNS:could not...

Oracle 10gのクライアント-サーバー環境でSQL*Plusなどから
ローカルネーミングで接続しようとするとORA-12154:TNS:could not
resolve the connect identifier specifiedが出て接続できません。
サーバー(ホスト名;aspire)
VistaHomePremiumSP1
Oracle10gDatabase
クライアント
XPHomeEditionSP3
Oracle10gClient
tnsnames.oraの内容
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = aspire)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
oracle.keyの内容
SOFTWARE\ORACLE\KEY_OraClient10g_home1
レジストリの内容
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1]
"ORACLE_HOME"="C:\\oracle\\product\\10.2.0\\client_1"
"ORACLE_HOME_NAME"="OraClient10g_home1"
"ORACLE_GROUP_NAME"="Oracle - OraClient10g_home1"
"ORACLE_BUNDLE_NAME"="Enterprise"
"NLS_LANG"="JAPANESE_JAPAN.JA16SJIS"
"StatementCacheSize"="0"
"OLEDB"="C:\\oracle\\product\\10.2.0\\client_1\\oledb\\mesg"
"StmtCacheSize"="0"
"SQLPATH"="C:\\oracle\\product\\10.2.0\\client_1\\dbs"
"OO4O"="C:\\oracle\\product\\10.2.0\\client_1\\oo4o\\mesg"
"ORACLE_HOME_KEY"="SOFTWARE\\ORACLE\\KEY_OraClient10g_home1"
"MSHELP_TOOLS"="C:\\oracle\\product\\10.2.0\\client_1\\MSHELP"
なお、簡易接続ネーミングでは成功します。
sqlplus scott/tiger@aspire/orcl
また、環境変数ORACLE_HOMEを設定すると成功します。
set ORACLE_HOME=C:\oracle\product\10.2.0\client_1
sqlplus scott/tiger@orcl
諸先輩方のアドバイスをお願いいたします。

Oracle 10gのクライアント-サーバー環境でSQL*Plusなどから
ローカルネーミングで接続しようとするとORA-12154:TNS:could not
resolve the connect identifier specifiedが出て接続できません。
サーバー(ホスト名;aspire)
VistaHomePremiumSP1
Oracle10gDatabase
クライアント
XPHomeEditionSP3
Oracle10gClient
tnsnames.oraの内容
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL...続きを読む

Aベストアンサー

>サーバー(ホスト名;aspire)
>VistaHomePremiumSP1

多分、OSがソフトウェア要件を満たしていないせいだと思われます。

参考URL:http://otndnld.oracle.co.jp/document/products/oracle10g/102/windows/B25255-04/reqs.htm#62275511


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報