![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поле типа дата [MSSQL]
Дырчик © (2004-11-17 10:10:00)Может быть я слишком глуп, но не могли бы вы подсказать как в таблице сделать поле типа date, а не DateTime?
Ega23 (2004-11-17 11:39:00) [1]Может быть, ну не привык я считать площадь квадрата через интегралы...
А тебе никто полные извраты и не предлагает. И если уж ни то пошло, то приведение типов ты на клиенте замечательно сделать можешь, раз тебе так "обрезанная" дата необходима.
Непонятно только какими мотивами ты руководствуешься...
Fay (2004-11-17 11:37:00) [2]2 Дырчик © (17.11.04 11:32) [32]
>> Может быть, ну не привык я считать площадь квадрата через интегралы...
Не скромничай, получается ведь 8). Нафиг приводить datetime к float?
Дырчик (2004-11-17 11:32:00) [3]Может быть, ну не привык я считать площадь квадрата через интегралы...
Fay (2004-11-17 11:32:00) [4]2 A_N_D © (17.11.04 10:59) [27]
Это почти самый медленный (после варианта c DatePart) способ
Ega23 (2004-11-17 11:22:00) [5]как же тут все-таки в этом MSSQL сервере все скверно, теперь понитно почему я им не пользовался
Может с руками проблема? Не под то заточены?
Дырчик (2004-11-17 11:18:00) [6]как же тут все-таки в этом MSSQL сервере все скверно, теперь понитно почему я им не пользовался
A_N_D (2004-11-17 11:01:00) [7]A_N_D © (17.11.04 10:59) [27]
поле fromdate типа datetime
A_N_D (2004-11-17 10:59:00) [8]select distinct convert(datetime,floor(convert(float,fromdate))) as VisitDate from Visits
возвращает дату
Дырчик (2004-11-17 10:56:00) [9]я что-то не понял - это так мелкософт наворотил?
например в DB2 все гораздо проще:
select date(datetime) from.....
и фсё!
Fay (2004-11-17 10:55:00) [10]2 A_N_D © (17.11.04 10:53) [24]
convert/cast нужен только для получения времени без даты, т.е. не нужен 8)
A_N_D (2004-11-17 10:53:00) [11]Дырчик © (17.11.04 10:45) [17]
А сам не знаю, просто охота, тада можно пользоваться просдым селектом, не заморачиваться на апдэйтах, и т.п.
Почитай про тригеры, а также про cast и convert.
Fay (2004-11-17 10:52:00) [12]Для получения даты без времени можно взять какую-то дату (КТД),
Вычислить DateDiff разницу (Р) между КТД и обрезаемой датой и прибавить DateAdd Р к КТД.
Дырчик (2004-11-17 10:52:00) [13]Ну наскока я понимаю: простой селект - это селект из одной таблицы, и при использовании АДО-компонетнов можно просто запостить редактируемую запись; а вот про сложные селекты я не говорил, есть еще составные селекты, и селекты с обработанными полями, и вот для них-то надо писать дополнительные запросы на апдэйты...
или я не прав?
A_N_D (2004-11-17 10:51:00) [14]Дырчик © (17.11.04 10:47) [19]
а что на счет функций DATENAME и DATEPART?
Читаем BOL
In this example, the date is specified as a number. Notice that SQL Server interprets 0 as January 1, 1900.
SELECT DATEPART(m, 0), DATEPART(d, 0), DATEPART(yy, 0)
Here is the result set:
----- ------ ------
1 1 1900
вот тебе дата: месяц день год
Ega23 (2004-11-17 10:48:00) [15]А сам не знаю, просто охота, тада можно пользоваться просдым селектом, не заморачиваться на апдэйтах, и т.п.
Ну-ка ну-ка... Это на каких апдейтах ты собрался заморачиваться? И какя разница между "сложным" и "простым" селектами?
Ерунду не говори.
Соловьев (2004-11-17 10:47:00) [16]
> А сам не знаю, просто охота, тада можно пользоваться просдым
> селектом, не заморачиваться на апдэйтах, и т.п.
Слушай что тебе говорят [1]
Дырчик (2004-11-17 10:47:00) [17]а что на счет функций DATENAME и DATEPART?
Дырчик (2004-11-17 10:45:00) [18]А сам не знаю, просто охота, тада можно пользоваться просдым селектом, не заморачиваться на апдэйтах, и т.п.
A_N_D (2004-11-17 10:45:00) [19]Дырчик © (17.11.04 10:40) [14]
Хочу хранить обрезаное значение...
тогда храни в int а в Delphi интерпретируй как дату
Но все равно что int, что smalldatetime весят 4 байта
Соловьев (2004-11-17 10:43:00) [20]
> Хочу хранить обрезаное значение...
зачем?