[MSSQL2005] Format daty

0

Cześć, mam następujący problem.

W aplikacji(Delphi) posługuję się funkcją now.
Następnie uzyskaną wartość zapisuję do bazy.

Na jednym komputerze pojawia się problem, gdyż serwer chce date w formacie: ydm, a dostaje ymd.

Pytanie moje brzmi: Jak ustawić globalnie na cały serwer(nie tylko w trakcie sesji) format daty na ymd?

0

SET DATEFORMAT ...

pozdrawiaMM

0
Marcin.Miga napisał(a)

SET DATEFORMAT ...

pozdrawiaMM

Napisałem, że chodzi mi o ustawienie na serwer, a nie a sesję. SET DATEFORMAT ustawia tylko na daną sesję.

0

A co jeśli ktoś ustawi sobie w systemie inny format daty?
Format daty w bazie zostaw w spokoju.

Ustaw sobie w delphi wartości zmiennych globalnych: ShortDateFormat i LongDateFormat, na te zgodne z bazą danych.
np.:

ShortDateFormat := 'yyyy-mm-dd';

Wówczas, gdy będziesz konwertował obiekt klasy TDateTime, na string (DateToStr), zostanie on przekonwertowany do formatu daty zgodnego z bazą danych.

Swoją drogą możesz mierzyć czas według serwera bazy danych.

0

Jeśli chodzi o delphi to (przynajmniej 7) ma funkcje formatDateTime - zwraca stringa z datą w wybranym formacie
Ponadto w zależności od bazy można 'ręcznie' ustawić format np. oracle ma funkcje TO_DATE

1 użytkowników online, w tym zalogowanych: 0, gości: 1