powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / О дате
25 сообщений из 47, страница 1 из 2
О дате
    #32037682
Сергей2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос таков у меня 2 SQL 2000 сервера один дома другой на работе
и винды русские и английские (2000) соответственно
Мне нужно получить datetime на 00:00:00 текущего дня но из за различных форматов даты мои манипуляции cast c day,year,month и getdate() имеет разный формат, есть ли способ делать независимо от формата.
...
Рейтинг: 0 / 0
О дате
    #32037688
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я не пойму в чем проблема - переменная типа datetime хранит информацию во внутреннем формате, который не зависит от языковых настроек. Последние влияют только на отображение. Так что, если Вам необходимо работать с переменными типа datetime, то используйте GetDate(), DateAdd() и т.п.
Если речь о строковых данных, то YEAR, MONTH, DAY помогут Вам.

Удачи
...
Рейтинг: 0 / 0
О дате
    #32037694
Сергей2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все хорошо но как получить теми же add или dif из даты начало этого дня 00:00:00?
...
Рейтинг: 0 / 0
О дате
    #32037702
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я правильно понял, что если сейчас, скажем,
Код: plaintext
 2002 - 07 - 19   11 : 54 : 36 . 050 


То Вам необходимо получить
Код: plaintext
 2002 - 07 - 19   00 : 00 : 00 . 000 

в некой переменной типа datetime?
...
Рейтинг: 0 / 0
О дате
    #32037703
Сергей2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да
...
Рейтинг: 0 / 0
О дате
    #32037704
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BOL->Date and tIME fUNCTIONS->DATEPART()
...
Рейтинг: 0 / 0
О дате
    #32037707
Сергей2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
но как понять после в каком виде для сast подавать
yyyy-mm-dd или dd/mm/yyyy ?
...
Рейтинг: 0 / 0
О дате
    #32037708
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
declare @d datetime
set @d = getdate()
set @d = convert(char( 10 ),@d, 112 )
select @d
...
Рейтинг: 0 / 0
О дате
    #32037709
Сергей2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое просто нечеловеческое СПАСИБО
...
Рейтинг: 0 / 0
О дате
    #32037719
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Сергей2 если есть такого типа вопросы,то лутше пользуйся поиском по форуму(Лично я так и делаю т.к. ето FAQ:)
...
Рейтинг: 0 / 0
О дате
    #32037944
Dikobrazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно еще преобразовывать дату в число и отбрасывать дробную часть (в которой как раз содержатся часы-минуты-секунды)
Код: plaintext
select cast(floor(cast(GetDate() as float)) as datetime)
...
Рейтинг: 0 / 0
О дате
    #32037970
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Dikobrazz

Datetime - не есть вещественное число

Код: plaintext
select convert(datetime, substring(convert(binary( 8 ), GetDate()), 1 ,  4 )+0x00000000)
...
Рейтинг: 0 / 0
О дате
    #32037980
Rom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Datetime - храниться как float, т.е. целая часть - это год, месяц и день а дробная - часы, минуты ... . Отбрасывая дробную часть можно получить дату без времени (т.е 00:00:00.0).
...
Рейтинг: 0 / 0
О дате
    #32037984
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Rom

Обратите внимание - здесь обсуждается MS SQL Server.

Смею предположить, что MS SQL Server данные типа Datetime в формате Datetime MS SQL Server-а.

Если это так - то Вы либо не что-то упустили, либо попали не в тот форум.
...
Рейтинг: 0 / 0
О дате
    #32037985
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"не что-то" ;)
...
Рейтинг: 0 / 0
О дате
    #32037990
Rom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
declare @dt datetime
select @dt = getdate()
select @dt = round(convert(float,@dt), 0 , 0 )
select @dt
...
Рейтинг: 0 / 0
О дате
    #32037992
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Rom
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.
...
Рейтинг: 0 / 0
О дате
    #32037994
Rom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
фактически - те же .... вид сбоку
...
Рейтинг: 0 / 0
О дате
    #32038017
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаю не стоит углубляться float / не float. В любой момент MS может поменять формат (а примеров таких полно) и придется все переделывать. в этом случае лучше воспользоваться функциями, тем более, что это не сложно.
...
Рейтинг: 0 / 0
О дате
    #32038020
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Rom
Два 4-х байтных целочисленных поля и float схожи друг с другом как и "теми же с боку"
...
Рейтинг: 0 / 0
О дате
    #32038023
Rom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 СуКа
интересно, SQL автоматически вставляет функции конвертации в данном случае ?
Код: plaintext
1.
2.
3.
declare @dt datetime
select @dt = getdate()
select @dt = @dt +  1 
select @dt

добавляем 1 день
...
Рейтинг: 0 / 0
О дате
    #32038027
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2rOm

Нет, что ты !!!

Сервак сначала пытается обратиться с службу тех. поддержки (но только если не находит MSDN)
...
Рейтинг: 0 / 0
О дате
    #32038030
Rom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а все же ?
не знаешь, так и скажи
...
Рейтинг: 0 / 0
О дате
    #32038038
3JIA9I CyKA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Он ничего не "вставляет", т.к. неплохо ориентируется в собственных типах данных.

Только проверка диапазона
...
Рейтинг: 0 / 0
О дате
    #32038039
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Rom

Не могли бы Вы расписать как перевести дробную часть возвращаемую при конвертиции DateTime во Float в стандартные чч:мм:сс.

С целой частью понятно - это количество дней от 01.01.1900 (я проверял, сходится), а вот дробную часть как не пытаюсь - не получается :(

Это не с целью подколоть. Мне действительно интересно.

2 3JIA9I CyKA

Вопрос тот же, но уже пользуясь переводом в Binary
...
Рейтинг: 0 / 0
25 сообщений из 47, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / О дате
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]