Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: oracle wstawianie daty?????
Forum PHP.pl > Forum > Bazy danych > Oracle
gados82
witam mam problem poniewaz nie moge sobie skojarzyc jak się wsatwiało date do tabeli

Kod
create table wypozyczenia(

id_kart int ,

id_egzemplarza int,

datawyp DATE DEFAULT Sysdate,

dataplanzwrot date,

datazwrotu DATE DEFAULT Sysdate,

CONSTRAINT idegzemplarza1_pk1 FOREIGN KEY (id_egzemplarza) REFERENCES egzemplarze



(id_egzemplarza),

Constraint idkarty1_pk1 FOREIGN KEY (id_karty)  REFERENCES klienci (id_karty)

);


do wstawiania danych probowałem

Kod
insert into wypozyczenia(id_karty, id_egzemplarza, datawyp, dataplanzwrotu, datazwrotu)

values(1,3,questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?);


jak wpisac w tym insercie daty, pomóżcie
Majdan
curdate() zwraca obecną datę.

Format DATE to: np. "2000-01-01".

Czyli np.:
[sql:1:8dc57b32b3]insert into wypozyczenia(id_karty, id_egzemplarza, datawyp, dataplanzwrotu, datazwrotu)
values(1,3,"2000-01-01","2000-01-01","2000-01-01"); [/sql:1:8dc57b32b3]
gados82
Cytat
curdate() zwraca obecną datę.



oki ale chodzi mi o to co mam wpisac w miejsce tych znaków zapytania w insercie czy mam używać ,,,, czy może '''' niech ktos mi napisze jednego przykładowego inserta do tej tabeli
FiDO
[sql:1:353c0bf157]insert into wypozyczenia(id_karty, id_egzemplarza, datawyp, dataplanzwrotu, datazwrotu)
values(1,3,'14-Jun-82', '10-May-04', '31-Dec-99');
[/sql:1:353c0bf157]
gados82
Cytat
curdate() zwraca obecną datę.

Format DATE to: np. "2000-01-01".

Czyli np.:
[sql:1:440f20c103]insert into wypozyczenia(id_karty, id_egzemplarza, datawyp, dataplanzwrotu, datazwrotu)
values(1,3,"2000-01-01","2000-01-01","2000-01-01"); [/sql:1:440f20c103]



czyli jak curdate() zwraca obecna date to jak zadeklaruje zmienne datawyp jako curdate to tez w insercie musze podawac jakąś date nie powinno to wygldac jakos tak:
Kod
insert into wypozyczenia(id_karty, id_egzemplarza, datawyp, dataplanzwrotu, datazwrotu)

values(1,3,"2000-01-01","2000-01-01");


czyli w miejsce zminnej zadeklarowanej curdate() nic nie wpisałem bo program powinien wiedziec ze w tym miejscu sam wstawi dzisiejsza date, tak samo jak na przykładzie indeksowania ze nie trzeba wpisywac danych w indexowana kolumne.questionmark.gifquestionmark.gif
Majdan
Chodzi o to, że jak chcesz wstawić obecną datę do pola typu DATE, to wstawiasz tak:
[sql:1:cf57f63a37]INSERT INTO tabela VALUES(curdate(), "cos_innego", "itp")[/sql:1:cf57f63a37]
curdate() to funkcja, o czym mówią nawiasy.
harmag
Jezeli chcesz podac tylko dwie wartosci datowe (np. datawyp oraz dataplanzwrot) a trzecia (czyli datazwrotu) chcesz pozostawic domyslna, to porpsotu nie wymieniaj nazyw tej kolumny po nazwie tabeli. Czyli wygladalo by to tak.

Kod
insert into wypozyczenia(id_karty, id_egzemplarza, datawyp, dataplanzwrotu)
values(1,3,to_date('2000/01/01','yyyy/mm/dd'),to_date('2000/01/01','yyyy/mm/dd');
fioleek
Kod
insert into wypozyczenia(id_karty, id_egzemplarza, datawyp, dataplanzwrotu)  values(1, 3, to_date('data', 'maska'), to_date('data', 'maska');


Podobnie stosujesz do pola timestamp

Kod
insert into wypozyczenia(id_karty, id_egzemplarza, datawyp, dataplanzwrotu)  values(1, 3, to_timestamp('data', 'maska'), to_timestamp('data', 'maska');


A jak zwracasz to najlepiej jest zwrocic stinga

Kod
select to_char(datawyp, 'maska') from wypozyczenia
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.