Как вернуть только дату из типа данных SQL Server DateTime - PullRequest
1607 голосов
/ 22 сентября 2008
SELECT GETDATE()

Возвращает: 2008-09-22 15:24:13.790

Я хочу эту часть даты без временной части: 2008-09-22 00:00:00.000

Как я могу получить это?

Ответы [ 43 ]

2 голосов
/ 01 сентября 2015
SELECT * FROM tablename WHERE CAST ([my_date_time_var] AS DATE)= '8/5/2015'
2 голосов
/ 08 июля 2015

Дата (поле даты и времени) и DATE_FORMAT (дата и время, '% Y-% m-% d') оба возвращают только дата от даты и времени

2 голосов
/ 03 октября 2018

Попробуйте:

SELECT CONVERT(date, GETDATE()) as date
2 голосов
/ 21 октября 2017

Мой общий подход к получению даты без временной части.

 SELECT CONVERT(VARCHAR(MAX),GETDATE(),103)

 SELECT CAST(GETDATE() AS DATE)
1 голос
/ 09 апреля 2019

Если используется SQL 2008 и выше: SELECT CONVERT(DATE ,GETDATE())

1 голос
/ 21 ноября 2018

Мой стиль

      select Convert(smalldatetime,Convert(int,Convert(float,getdate())))
0 голосов
/ 28 мая 2019

Самый простой способ - использовать: SELECT DATE(GETDATE())

0 голосов
/ 23 апреля 2019

Ух ты, дай мне посчитать, как ты можешь это сделать. (без каламбура)

Чтобы получить нужные результаты в этом формате, а именно:

2008-09-22

Вот несколько вариантов.

SELECT CAST(GETDATE() AS DATE) AS 'Date1'
SELECT Date2  = CONVERT(DATE, GETDATE())
SELECT CONVERT(DATE, GETDATE()) AS 'Date3'
SELECT CONVERT(CHAR(10), GETDATE(), 121) AS 'Date4'
SELECT CONVERT(CHAR(10), GETDATE(), 126) AS 'Date5'
SELECT CONVERT(CHAR(10), GETDATE(), 127) AS 'Date6'

Итак, я бы предложил выбрать тот, который вам удобен, и использовать этот метод по всем направлениям во всех ваших столах.

Все эти параметры возвращают дату в том же формате. Почему SQL Server имеет такую ​​избыточность?

Понятия не имею, но они знают. Может быть, кто-нибудь умнее меня сможет ответить на этот вопрос.

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 30 марта 2019

вы можете использовать, как показано ниже, для различных типов вывода только для даты

  1. SELECT CONVERT(datetime, CONVERT(varchar, GETDATE(), 103)) ----- дд / мм / гггг

  2. SELECT CONVERT(datetime, CONVERT(varchar, GETDATE(), 101)) ------ мм / дд / гггг * +1011 *

  3. SELECT CONVERT(datetime, CONVERT(varchar, GETDATE(), 102))

0 голосов
/ 24 марта 2019
select cast(createddate as date) as derivedate from table 

createate - ваш столбец datetime, это работает для sqlserver

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...