Страница 1 из 1

дата в MS SQL

Добавлено: 08 апр 2004, 22:27
knat
Народ, кто знает
в каком формате в поле Integer хранятся даты?

Подскажите, плз. ???

Re: дата в MS SQL

Добавлено: 09 апр 2004, 10:09
Den

Re: дата в MS SQL

Добавлено: 09 апр 2004, 13:03
knat
Спасибо, Den.
Круто, конечно... А мы искали легких путей.
Если все так лихо закручено, значит это кому-нибудь нужно... Любопытно, кому. Хотелось бы знать, за какую идею страдаем. ;)

Re: дата в MS SQL

Добавлено: 12 апр 2004, 11:45
Den
А ничего такого особого в это нет. Делов том, что, по всей видимости, это сложилось исторически. Изначально Г разрабатывалась под Битрив. А там дата хранится также : два байта-год, байт-месяц, байт -день. Поэтому в MSSQL галактисты и выбрали для хранения дат INTEGER .Драйвер к тому же переписывать не нужно.
А в чем у Вас трудность ?

Re: дата в MS SQL

Добавлено: 26 май 2004, 17:23
igornov
Ну я чуть попроще функцию юзаю:

CREATE FUNCTION dbo.galdate_d (@galdat_ int)
RETURNS datetime AS
BEGIN
declare @gal_dat2 nchar(10),
@i int,
@prom nchar(10)
set @gal_dat2=str(convert(int,substring(convert(binary(4),@galdat_),4,1)),2)+'/'+str(convert(int,substring(convert(binary(4),@galdat_),3,1)),2)+'/'+str(convert(int,substring(convert(binary(4),@galdat_),1,2)),4)
select @i=1,@prom=''
while @i<=len(@gal_dat2)
begin
if substring(@gal_dat2,@i,1)=' '
select @prom=rtrim(ltrim(@prom))+'0'
else
select @prom=rtrim(ltrim(@prom))+substring(@gal_dat2,@i,1)

select @i=@i+1
end

return convert(datetime,@prom)
END

Re: дата в MS SQL

Добавлено: 26 май 2004, 17:25
igornov
Кому нужно могу и обратную опублтковать в том числе и для времени.

Re: дата в MS SQL

Добавлено: 21 июн 2010, 12:32
Darikon
igornov писал(а):Кому нужно могу и обратную опублтковать в том числе и для времени.
если есть возможность, для времени, было бы очень хорошо..

Re: дата в MS SQL

Добавлено: 21 июн 2010, 13:48
Masygreen
собственно старт...

Код: Выделить всё

SET @SALDO = CONVERT (DATETIME, '01/07/2007', 103)
SET @SALDOI = year (@SALDO) * 256 * 256 + 256 * month (@SALDO) + day (@SALDO)