Как выбрать дату без времени в SQL



когда я выбираю дату в SQL, она возвращается как 2011-02-25 21:17:33.933. Но мне нужна только часть даты, то есть 2011-02-25. Как я могу это сделать?

3154   16  

16 ответов:

Я думаю, он хочет строку

select convert(varchar(10), '2011-02-25 21:17:33.933', 120)

для SQL Server 2008:

Convert(date, getdate())  

пожалуйста, обратитесь к https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql

самый быстрый-это datediff, например,

select dateadd(d, datediff(d,0, [datecolumn]), 0), other..
from tbl

но если вам нужно только использовать значение, то вы можете пропустить dateadd, например

select ...
WHERE somedate <= datediff(d, 0, getdate())

где выражение datediff(d, 0, getdate()) достаточно, чтобы вернуть сегодняшнюю дату без часть времени.

используйте CAST (GETDATE () в качестве даты), который работал для меня, просто.

вы можете использовать такой

SELECT Convert(varchar(10), GETDATE(),120) 

на 2008 более старая версия:

SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)

немного поздно, но используйте функцию ODBC "curdate" (угловые скобки " fn " - это escape-последовательность функции ODBC).

SELECT {fn curdate()} 

выход: 2013-02-01

вы можете попробовать это слишком.

SELECT CONVERT(DATE, GETDATE(), 120)

преобразуйте его обратно в datetime после преобразования в date, чтобы сохранить тот же datatime, если это необходимо

select Convert(datetime, Convert(date, getdate())  )

в PLSQL вы можете использовать

to_char(SYSDATE,'dd/mm/yyyy')

сначала преобразуйте дату в float (которая отображает числовое значение), затем ROUND число до 0 десятичных знаков, а затем преобразовать его в datetime.

convert(datetime,round(convert(float,orderdate,101),0) ,101)

Если вы хотите вернуть тип даты как только дата использования

CONVERT(date, SYSDATETIME())

или

SELECT CONVERT(date,SYSDATETIME()) 

или

DECLARE @DateOnly Datetime
SET @DateOnly=CONVERT(date,SYSDATETIME())

использовать простой:

convert(date, Btch_Time)

пример:

стол:

Efft_d       Loan_I  Loan_Purp_Type_C   Orig_LTV    Curr_LTV    Schd_LTV    Un_drwn_Bal_a      Btch_Time            Strm_I  Btch_Ins_I
2014-05-31  200312500   HL03             NULL         1.0000    1.0000         1.0000      2014-06-17 11:10:57.330  1005    24851e0a-53983699-14b4-69109


Select * from helios.dbo.CBA_SRD_Loan where Loan_I in ('200312500') and convert(date, Btch_Time) = '2014-06-17'

попробуйте это.

SELECT DATEADD(DD, 0, DATEDIFF(DD, 0, GETDATE()))

выберите дату('2011-02-25 21:17:33.933') дата даст нам 2011-02-25.

работал для меня. Надеюсь, это сработает.

Comments

    Ничего не найдено.