Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вывести дату без времени(21.01.2002) а не 21.01.2002 18:00:00 [D6, MSSQL]


vasilly ©   (2002-08-02 17:36:00) 

Как вывести дату без времени(21.01.2002) а не 21.01.2002 18:00:00
для того чтобы корректно составить условие...
проблема в том что пользователь не должен видеть время...!
кто знает?


3JIA9I CyKA   (2002-08-06 11:06:00) [1]

Ответ на этот вопрос зависит от того, на какой стороне (C/S) это надо сделать.


Juve   (2002-08-06 00:15:00) [2]

Народ, ну во-первых FormatDateTime......а во вторых можно небольшой изврат: StrToDate(DateTimeToStr(Реальная дата))- тоже работает! Может я чего не понял?


3JIA9I CyKA   (2002-08-05 17:37:00) [3]

Это было "получить только дату"
вывести - это так:
convert(varchar(10), GetDate(), 104)


3JIA9I CyKA   (2002-08-05 17:34:00) [4]

convert(datetime, substring(convert(binary(8), GetDate()), 1, 4)+0x00000000)


sniknik   (2002-08-05 17:04:00) [5]

ну это то легко решить
DECLARE @DATE DATETIME
SET @DATE=GETDATE()
SELECT CAST(ROUND(CAST(@DATE AS FLOAT), 0, 1) as smalldatetime)
будет и после полудня нормально давать :-).
понимать правильно!


Luchkin   (2002-08-05 16:26:00) [6]

Ма-а-а-аленькое примечание: если полная дата со временем после полудня, то округлённая дата будет на день больше :(


Luchkin   (2002-08-05 15:56:00) [7]

недавно столкнулся с той-же фигнёй. Вот к чему пришёл:

SELECT
Adres,
CAST(CAST(Data AS INTEGER) AS smalldatetime) AS DATA,
Kod, Comment
FROM HISTORY

вроде работает... и не тормозит.


sniknik   (2002-08-02 19:48:00) [8]

так ты ее и сохраняй так как нужно она так и выдаватся будет
--в памяти
DECLARE @datevar datetime
SET @datevar = "12/31/98"
SELECT @datevar

--в таблицу
declare @D Datetime
set @D="12/12/02"
INSERT INTO CASHSAIL ([DATE]) VALUES (@D)
GO
--показать
SELECT * FROM CASHSAIL
именно дата и именно без времени.
поле DATE здесь smalldatetime, в дельфих видится как ftDateTime. и работает именно так как тебе хочется.


kserg@ukr.net   (2002-08-02 18:26:00) [9]

тогда тебе без CONVERTa не обойтись :(
или другие извраты :)


kserg@ukr.net   (2002-08-02 18:23:00) [10]

>vasilly © (02.08.02 17:59)
>вывести надо в датасет
тогда твой вопрос должен звучать по другому:
как через SELECT выбрать чистую дату откинув время.


vasilly   (2002-08-02 18:03:00) [11]

вопрос скорее по типам данных... насколько мне известно в MSSQL нет типа date, который например есть в IB...
нужно сделать вид который бы выкидавал урезаную дату и понимал ее как дату а не как например строку


vasilly   (2002-08-02 18:01:00) [12]

причем еще один момент... нельзя использовать
convert(varchar(10), RegDate,104) AS [Дата ч.]


vasilly   (2002-08-02 17:59:00) [13]

нет вывести надо в датасет... просто
как сделать в гриде я знаю... волпрос скорее по SQL...
потому что сервер MSSQL7 в частности не дает выкинуть дату без времени


kserg@ukr.net   (2002-08-02 17:47:00) [14]

Где надо вывести дату?

Если в Grid-e, то в нем можно задать для полей формат вывода.
Если в др.компонентах, то воспользуйся функцией FormatDateTime,
напр:
Label1.Caption:= FormatDateTime("dd.mm.yy",quTemp1.FieldByName("dat").AsDateTime))


Кулюкин Олег   (2002-08-02 17:46:00) [15]

Воспользуйтесь функцией FormatDateTime
Format = "dd.mm.yyyy"


Наверх

Титульная страница Поиск, карта сайта Написать письмо