
JDBCを使ってOracleへ接続し、DBへデータを挿入したいのですが、
日付型のデータがどうしてもうまく挿入できません。
jsp + Servlet + Bean で開発しています。
使っているテーブルは
CREATE TABLE USERS (
USERID VARCHAR2(10) NOT NULL,
PASSWORD VARCHAR2(10) NOT NULL,
NAME VARCHAR2(50) NULL,
SEX VARCHAR2(5) NULL,
BIRTHDAY DATE NULL,
PRIMARY KEY (USERID, PASSWORD)
)
という風な型で、定義しています。
DBへのINSERT処理は、Beanで行っています。
以下のINSERT文を実行したのですが、うまくINSERTできませんでした。
String sqlQuery =
"INSERT INTO USERS (USERID, PASSWORD, NAME, SEX, BIRTHDAY)"
+ "VALUES ('use', 'pass', 'ナマエ', '女性', '1980/06/05')"
int numOfUpdate = statement.executeUpdate(sqlQuery);
ちなみに、この中のdate型で定義している「BIRTHDAY」を除いたINSERT文
String sqlQuery =
"INSERT INTO USERS (USERID, PASSWORD, NAME, SEX)"
+ "VALUES ('use', 'pass', 'ナマエ', '女性')"
int numOfUpdate = statement.executeUpdate(sqlQuery);
だとうまくINSERTできます。
sql*plusを使って直に書くと、両方うまくINSERTできました。
●その後に、「BIRTHDAY」をdate型からVARCHAR2(10)へ定義し直し、
DBを作り直して実行した所、うまくINSERTできるようになりました。
なぜ「date型」だとINSERTできず、「VARCHAR2型」だとINSERTできるのか、
知っている方がおられましたら、ぜひ教えて頂きたいです。
No.1ベストアンサー
- 回答日時:
始めましてDoubleです
"INSERT INTO USERS (USERID, PASSWORD, NAME, SEX, BIRTHDAY)"
+ "VALUES ('use', 'pass', 'ナマエ', '女性', '1980/06/05')"
この書き方だと'1980/06/05'の部分はテキストデータです
したがって
to_date('1980/06/05','YYYY/MM/DD')
と書き換えてあげれば大丈夫だと思います
試してみてください
わかりやすい御回答ありがとうございました。
日付の部分を書き直した所、うまくINSERTできました。
あのままではテキストデータになってしまうのですね!
本当に助かりました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php エラー 2 2022/10/23 16:43
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL MYSQL エラー 2 2022/10/18 11:37
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
追加クエリで重複データなしで...
-
csvデータ不要列の削除をbatフ...
-
pandasでsqlite3にテーブル作成...
-
テーブルの更新を簡単にできる...
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
sqlに記述できない文字
-
SELECT INTOで一度に複数の変数...
-
Accessの構成をコピーしたい
-
PostgreSQLのtimestamp型で時間...
-
オラクルのUPDATEで複数テーブル
-
UPDATEで既存のレコードに文字...
-
エラーを起こす方法
-
truncate tableを使って複数の...
-
ACCESSのVBAにてExcelに行...
-
CSVファイルを読み込んでテーブ...
-
予約システムでの時間の設計に...
-
selectの単純繰り返し
-
SQLの「句」とはなんですか
-
バルクINSERT直後に、最後のInc...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
pandasでsqlite3にテーブル作成...
-
Excel VBAのユーザーフォームで...
-
自作アプリからAPIで他のアプリ...
-
追加クエリで重複データなしで...
-
csvデータ不要列の削除をbatフ...
-
【VB】セルが空になるまで処理...
-
マクロでファイルを読み込み、...
-
JDBCを使ってdate型へのINSERT...
-
アクセス2003 最適化/修復...
-
エクセル 2つの列にある値の完...
-
VBAでの行数を揃える方法
-
テーブルの更新を簡単にできる...
-
【ExcelVBA】範囲選択の方法に...
-
WEBサイトって何ですか?
-
MySQLでauto_incrementをつかわ...
-
ListBoxにAddItemする際、重複...
-
EXCELで外部データの取り込みが...
-
エクセルデータをAccessに取り...
-
機械語
-
ACCESS VBAでSeekメソッドの処...
おすすめ情報