データベースに日付を追加したい。しかし、時間のない日付のみ。日付をOracleデータベースに追加する日付日付
可変タイプの場合DateTimeそれは機能しますが、時間は00:00:00と挿入されます。
私はこれを試しましたが、入力エラーが出ます。
INSERT INTO BNR(EUR,DATE_API) VALUES (4.2546 , to_date('2016/30/03','DD-MON-YY'));
これは、変数
DateTime date_bnr = (from cube in doc.Descendants(d + "Cube")
from rate in cube.Elements(d + "Rate")
where
((DateTime)cube.Attribute("date")).Date == yesterday
&&
(string)rate.Attribute("currency") == "EUR"
select ((DateTime)cube.Attribute("date")).Date
).FirstOrDefault();
var datebnr = date_bnr.ToShortDateString(); // what I tried
var dt = date_bnr.ToString("DD-MON-YY"); // what I tried
私の日であり、これはあなたが入力時間がないコンポーネントを持っていないことを検証するためにcheck
制約を追加することができ、データベース
string insert_bnr = "INSERT INTO BNR(EUR,DATE_API) VALUES (:value,:datee) ";
OracleCommand cmd = new OracleCommand(insert_bnr, con);
OracleParameter bnr_value = new OracleParameter();
bnr_value.OracleDbType = OracleDbType.Varchar2;
bnr_value.Value = bnr.ToString();
OracleParameter bnr_date = new OracleParameter();
bnr_date.OracleDbType = OracleDbType.Date;
bnr_date.Value = dt;
cmd.Parameters.Add(bnr_value);
cmd.Parameters.Add(bnr_date);
cmd.ExecuteNonQuery();
オラクルでなければなりません
は常に、それは真夜中だ場合でも、時間を持ってさかのぼります。それを表示するかどうかは別の問題です。 'to_date( '2016/30/03'、 'DD-MON-YY')'では、あなたが持っている文字列リテラルと一致しないフォーマットマスクを使っているのはなぜですか? 'ToShortDateString()'は何を生成しますか?なぜ、そのパラメータを日付ではなく文字列として設定していますか? –
"2016/30/03"はフォーマット文字列 "DD-MON-YY"と一致しません。 "入力エラー"とは何ですか?はいの場合は例外が発生しますか? – dlatikay
エラーは「SQLエラー:ORA-01861:リテラルはフォーマット文字列と一致しません」とToShortDateString()は日付なしの日付のみを返します –