powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / формат даты
10 сообщений из 10, страница 1 из 1
формат даты
    #39746523
NewIvanovec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
каким макаром можно
из этой даты
Код: sql
1.
2018-12-01 11:02:48.7723973 +03:00


сделать эту дату
Код: sql
1.
2018-12-01 11:02:00 +03:00

, т.е. обнулить секунды
...
Рейтинг: 0 / 0
формат даты
    #39746530
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через конвертацию в smalldatetime (хотя могут быть нюансы).
Или через datepart + DATETIMEFROMPARTS
...
Рейтинг: 0 / 0
формат даты
    #39746540
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
DECLARE @D DATETIMEOFFSET='2018-12-01 11:02:48.7723973 +03:00';
SELECT STUFF(S,CHARINDEX(':',S,CHARINDEX(':',S)+1),3,':00')
FROM (SELECT CAST(CAST(@D AS DATETIMEOFFSET(0))AS VARCHAR(100)))T(S);
...
Рейтинг: 0 / 0
формат даты
    #39746542
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap
Код: sql
1.
2.
3.
DECLARE @D DATETIMEOFFSET='2018-12-01 11:02:48.7723973 +03:00';
SELECT STUFF(S,CHARINDEX(':',S,CHARINDEX(':',S)+1),3,':00')
FROM (SELECT CAST(CAST(@D AS DATETIMEOFFSET(0))AS VARCHAR(100)))T(S);

Обратно в дату забыл преобразовать:
Код: sql
1.
2.
3.
DECLARE @D DATETIMEOFFSET='2018-12-01 11:02:48.7723973 +03:00';
SELECT CAST(STUFF(S,CHARINDEX(':',S,CHARINDEX(':',S)+1),3,':00')AS DATETIMEOFFSET(0))
FROM (SELECT CAST(CAST(@D AS DATETIMEOFFSET(0))AS VARCHAR(100)))T(S);
...
Рейтинг: 0 / 0
формат даты
    #39746548
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей АлексеевичЧерез конвертацию в smalldatetime (хотя могут быть нюансы).
Или через datepart + DATETIMEFROMPARTS1. секунды не просто обнулятся, а с округлением того, что после этого останется (11:03:00).
2. offset будет потерян.
Если конвертировать "в лоб", конечно.
...
Рейтинг: 0 / 0
формат даты
    #39746554
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
declare @dt datetimeoffset
set @dt='2018-12-01 11:02:48.7723973 +03:00'

select @dt, cast(format(@dt, 'yyyy-MM-dd hh:mm:00 zzz') as datetimeoffset)



(Отсутствует имя столбца)(Отсутствует имя столбца)2018-12-01 11:02:48.7723973 +03:002018-12-01 11:02:00.0000000 +03:00
...
Рейтинг: 0 / 0
формат даты
    #39746561
NewIvanovec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не ожидал, что столько вариантов может быть.
Спасибо.
для моей задачи подходит вариант без округления.
...
Рейтинг: 0 / 0
формат даты
    #39746618
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap1. секунды не просто обнулятся, а с округлением того, что после этого останется (11:03:00).
Забыл про округление, да.

iap2. offset будет потерян.Ну, там много функций, в т.ч. и такая: DATETIMEOFFSETFROMPARTS
...
Рейтинг: 0 / 0
формат даты
    #39746641
NewIvanovec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть проблема,
если исходное время PM, то новое получается AM


Код: sql
1.
2.
3.
4.
5.
DECLARE @dt DATETIMEOFFSET
SET @dt = '2018-12-02 22:18:20.8414917 +03:00'

SELECT @dt,
       CAST(FORMAT(@dt, 'yyyy-MM-dd hh:mm:00 zzz') AS DATETIMEOFFSET)
...
Рейтинг: 0 / 0
формат даты
    #39746644
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewIvanovec
Код: sql
1.
2.
3.
4.
5.
DECLARE @dt DATETIMEOFFSET
SET @dt = '2018-12-02 22:18:20.8414917 +03:00'

SELECT @dt,
       CAST(FORMAT(@dt, 'yyyy-MM-dd HH:mm:00 zzz') AS DATETIMEOFFSET)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / формат даты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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