ďťż
 
MSDE a set dataformat ďťż
 
MSDE a set dataformat
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

MSDE a set dataformat



Marcin - 29-11-2005 10:11
MSDE a set dataformat
  Witam wszystkich
mam jakiś taki dziwny problem z bazą danych.

Jak wpisuje date ręcznie do bazy np.: '2005-03-10' i sprawdzę

DECLARE @datevar datetime
SET @datevar = '2005-03-10'
SELECT @datevar
GO

to jako wynik dostaję '2005-10-03' !!!!

Jak odpytam ustawienia :

dbcc useroptions

to mam,ze jezyk jest polski i format daty dmy.
Jeśli teraz zrobię

SET DATEFORMAT dmy

to wszystko jest ok, ale tylko dla tej sesji. Jak zrobić żeby to działało
zawsze?

Ptrzebuje tego żeby wywołac procedure z datą jako parametrem. Próbowałem
zamknąć wszystko w innej procedurze gdzie najpierw usatwiam dataformat , ale
nie działa :(

CREATE PROCEDURE spMoja-1 @data datetime
AS SET NOCOUNT ON
set dateformat ymd
execute spMoja @data
GO

Macie jakiś pomysł?

Pzdr
Marcin

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





=?iso-8859-2?Q?Pawe=B3_Filipiak?= - 29-11-2005 10:11

  Użytkownik "Marcin" <patin@poczta.onet.pl> napisał w wiadomości
news:38a2.00000148.438b0399@newsgate.onet.pl...
[...]
> Macie jakiś pomysł?

przekazywać zmienną typu datetime, a nie string. Niejawne konwersje zawsze
pachną problemami.

exec moja_procedura convert(datetime,'2005-10-01',120)

ostatni parametr wymusza format, w jakim trzeba podać datę - szczegóły w BOL

--
pozdrawiam,
Paweł Filipiak, gg 2791867




Marcin Miga - 29-11-2005 10:11

  Marcin wrote:

> Witam wszystkich
> mam jakiś taki dziwny problem z bazą danych.
>
> Jak wpisuje date ręcznie do bazy np.: '2005-03-10' i sprawdzę
>
>
> DECLARE @datevar datetime
> SET @datevar = '2005-03-10'
> SELECT @datevar
> GO
>

DECLARE @datevar datetime
SET @datevar = '20050310'
SELECT @datevar
GO

to jako wynik dostaję '2005-03-10' !!!!

pozdrawiaMM
--
Marcin M. Miga
"More matter with less art"




Marcin - 29-11-2005 10:11

  No widzisz, mam dwie instancje MSDE na róznych kompach. Na jednym jest ok, a
na drugim źle. Ty trafiłeś że masz dobrze.

> Marcin wrote:
>
> > Witam wszystkich
> > mam jakiś taki dziwny problem z bazą danych.
> >
> > Jak wpisuje date ręcznie do bazy np.: '2005-03-10' i sprawdzę
> >
> >
> > DECLARE @datevar datetime
> > SET @datevar = '2005-03-10'
> > SELECT @datevar
> > GO
> >
>
> DECLARE @datevar datetime
> SET @datevar = '20050310'
> SELECT @datevar
> GO
>
> to jako wynik dostaję '2005-03-10' !!!!
>
> pozdrawiaMM
> --
> Marcin M. Miga
> "More matter with less art"
>

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





Marcin Miga - 29-11-2005 10:11

  Marcin wrote:

> No widzisz, mam dwie instancje MSDE na róznych kompach. Na jednym
> jest ok, a na drugim źle. Ty trafiłeś że masz dobrze.

A zauważyłeś różnice pomiędzy Twoim zapytaniem, a moim? Moje było
pozbawione '-', czyli data w formacie 'yyyymmdd'.

pozdrawiaMM
--
Marcin M. Miga
"More matter with less art"




Vez do Han - 29-11-2005 10:11

  Użytkownik "Marcin" <patin@poczta.onet.pl> napisał w wiadomości
news:38a2.00000148.438b0399@newsgate.onet.pl...
> Witam wszystkich
> mam jakiś taki dziwny problem z bazą danych.
>
> Jak wpisuje date ręcznie do bazy np.: '2005-03-10' i sprawdzę
>
>
> DECLARE @datevar datetime
> SET @datevar = '2005-03-10'

Tu dostajesz konwersję i to na dodatek niejawną

> SELECT @datevar
> GO
>
> to jako wynik dostaję '2005-10-03' !!!!

Tu dostajesz wynik tak jak masz mieć domyślny format daty.

>
> Jak odpytam ustawienia :
>
> dbcc useroptions
>
> to mam,ze jezyk jest polski i format daty dmy.
> Jeśli teraz zrobię
>
> SET DATEFORMAT dmy
>
> to wszystko jest ok, ale tylko dla tej sesji. Jak zrobić żeby to działało
> zawsze?
>

działa zawsze - dla sesji :-)

> Ptrzebuje tego żeby wywołac procedure z datą jako parametrem. Próbowałem
> zamknąć wszystko w innej procedurze gdzie najpierw usatwiam dataformat ,
ale
> nie działa :(

?

>
> CREATE PROCEDURE spMoja-1 @data datetime
> AS SET NOCOUNT ON
> set dateformat ymd
> execute spMoja @data
> GO

Jak wywołasz z parametrem typu datetime (a nie string) to będzie działało.
Operacja set dateformat ymd jest niepotrzebna.

>
> Macie jakiś pomysł?

Mamy.
No dobrze a teraz na poważnie.
Ten format daty jest związany z językiem logina.
Żeby było trudniej jak ustawisz polski to masz format amerykański, a jak
ustawisz angielski to masz... pobrany z ustawień regionalnych.




Marcin - 01-12-2005 20:33

 
I to jest odpowiedź której oczekiwałem, dzięki :)

> Użytkownik "Marcin" <patin@poczta.onet.pl> napisał w wiadomości
> news:38a2.00000148.438b0399@newsgate.onet.pl...
> > Witam wszystkich
> > mam jakiś taki dziwny problem z bazą danych.
> >
> > Jak wpisuje date ręcznie do bazy np.: '2005-03-10' i sprawdzę
> >
> >
> > DECLARE @datevar datetime
> > SET @datevar = '2005-03-10'
>
> Tu dostajesz konwersję i to na dodatek niejawną
>
> > SELECT @datevar
> > GO
> >
> > to jako wynik dostaję '2005-10-03' !!!!
>
> Tu dostajesz wynik tak jak masz mieć domyślny format daty.
>
> >
> > Jak odpytam ustawienia :
> >
> > dbcc useroptions
> >
> > to mam,ze jezyk jest polski i format daty dmy.
> > Jeśli teraz zrobię
> >
> > SET DATEFORMAT dmy
> >
> > to wszystko jest ok, ale tylko dla tej sesji. Jak zrobić żeby to działało
> > zawsze?
> >
>
> działa zawsze - dla sesji :-)
>
> > Ptrzebuje tego żeby wywołac procedure z datą jako parametrem. Próbowałem
> > zamknąć wszystko w innej procedurze gdzie najpierw usatwiam dataformat ,
> ale
> > nie działa :(
>
> ?
>
> >
> > CREATE PROCEDURE spMoja-1 *@data *datetime
> > AS SET NOCOUNT ON
> > set dateformat ymd
> > execute spMoja @data
> > GO
>
> Jak wywołasz z parametrem typu datetime (a nie string) to będzie działało.
> Operacja set dateformat ymd jest niepotrzebna.
>
> >
> > Macie jakiś pomysł?
>
> Mamy.
> No dobrze a teraz na poważnie.
> Ten format daty jest związany z językiem logina.
> Żeby było trudniej jak ustawisz polski to masz format amerykański, a jak
> ustawisz angielski to masz... pobrany z ustawień regionalnych.
>

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MS SQL] "set names" (mySQL) w MS SQL db2 alter table alter column set default ustawianie uprawnien uzytkownika SQL 2005 serwer express ORAZ w msde [MSSQL 2000 / MSDE] Select na podstawie TimeStampa MSDE, MSSQL2005EE - problem z dostępem z innego komputera. Skąd można jeszcze pobrać poczciwe i darmowe MSDE ? MSDE jak zrobic attache database dla konkretnej instancji Problem - MSDE i nazwa serwera (local) MSDE katalog bazy danych Data Jak szybko podłączyć bazę do MSDE/SQLServer
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • anette.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com