Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.01;
Скачать: CL | DM;

Вниз

SQL запрос.   Найти похожие ветки 

 
fluxion ©   (2008-05-07 06:25) [0]

1. Есть таблица (Table1), в одном из полей (DateTime) идет запись в виде 12.03.2008 12:35 и т.д. различные даты время. Как при помощи sql запроса преобразовать это поле в вид 12.03.2008  ?, т.е. без времени.

2. Возможно ли вырезать из этих строк дату и вcтавить в другое поле (Date) т.е. чтоб в поле DateTime осталось 12.03.2008 12:35, а в поле Date скопировалась только 12.03.2008 ??

P.S. Delphi 7 + MSSQL2005


 
Loginov Dmitry ©   (2008-05-07 07:49) [1]

> Как при помощи sql запроса преобразовать это поле в вид
> 12.03.2008  ?, т.е. без времени.


CAST(DateField AS CHAR(10)) ?


 
ANB   (2008-05-07 09:57) [2]

Подставить правильную маску конвертации.


> CAST(DateField AS CHAR(10)) ?

При некоторых настройках может дать 20080312 1


 
Ega23 ©   (2008-05-07 10:04) [3]

1. В поле лежит datetime, это не строка, это float, реализацию в BOL посмотри.
2. Посмотри скрипты:

Select Now = getadate();
Select Now = Cast(getadate() as char(10));
Select Now = Convert(varchar(10), getdate(), 104);
Select Now = Convert(varchar(10), getdate(), 104) + " " +  Convert(varchar(10), getdate(), 108);


 
Anatoly Podgoretsky ©   (2008-05-07 12:10) [4]


> Ega23 ©   (07.05.08 10:04) [3]
> 1. В поле лежит datetime, это не строка, это float, реализацию
> в BOL посмотри.

тип datetime это не float и даже близко не лежал.


 
Ega23 ©   (2008-05-07 12:15) [5]


> тип datetime это не float и даже близко не лежал.


Пардон, с прямым углом спутал.


Values with the datetime data type are stored internally by Microsoft SQL Server as two 4-byte integers. The first 4 bytes store the number of days before or after the base date, January 1, 1900. The base date is the system reference date. Values for datetime earlier than January 1, 1753, are not permitted. The other 4 bytes store the time of day represented as the number of milliseconds after midnight.



 
Anatoly Podgoretsky ©   (2008-05-07 12:51) [6]

> Ega23  (07.05.2008 12:15:05)  [5]

Так что это обеспечивает повышенную точность, уменьшение погрешности при преобразовании в строку, что с успехом компенсируется погрешность при записи в 3 миллисекунды :-). Очень не понятно почему так сделано.


 
Ega23 ©   (2008-05-07 13:09) [7]


> Так что это обеспечивает повышенную точность, уменьшение
> погрешности при преобразовании в строку, что с успехом компенсируется
> погрешность при записи в 3 миллисекунды :-). Очень не понятно
> почему так сделано.


Да ну их в баню, в 8 байт если с дискретом в 10 наносекунд писать, то в ~5800 лет уложиться можно.


 
Anatoly Podgoretsky ©   (2008-05-07 13:44) [8]

> Ega23  (07.05.2008 13:09:07)  [7]

Дискрет никак не связан с длительностью, время пишется начиная с полуночи, а дата не зависима от времени, всего примерно 4 миллиарда дней.
Может как то мешает тип SmallDate


 
Ega23 ©   (2008-05-07 14:20) [9]


> Может как то мешает тип SmallDate


Похоже на то.


 
sniknik ©   (2008-05-07 15:34) [10]

ниче, вот дождемся 2008-го, там толи 7 толи 9 (не помню) знаков под милисекунды(милимили...? котороче то что после секунд) и все значимые, дискретность .0000001.
всем хватит...


 
Ega23 ©   (2008-05-07 15:38) [11]


> 0000001.


ну как раз 100 наносекунд, что GetSystemTimeAsFileTime должно давать...
Непонятно, почему раньше ше было, всё-таки вроде одна система...



Страницы: 1 вся ветка

Текущий архив: 2008.06.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
15-1208258400
ламо777
2008-04-15 15:20
2008.06.01
Производительность на удаленном сервере


15-1208766241
Vlad Oshin
2008-04-21 12:24
2008.06.01
что будет?


2-1210226756
operator
2008-05-08 10:05
2008.06.01
Экспорт delphi кода с сохранением форматирования в word/html


8-1181160626
Дима_З
2007-06-07 00:10
2008.06.01
Иконки 256Х256, сжатые vista-форматом


2-1210232151
troyan_81
2008-05-08 11:35
2008.06.01
ValueListEditor1 - Как юзать?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский