tipo - Cómo seleccionar fecha sin hora en SQL
obtener mes y año de una fecha sql (16)
El más rápido es el datediff
, por ejemplo,
select dateadd(d, datediff(d,0, [datecolumn]), 0), other..
from tbl
Pero si solo necesita usar el valor, puede omitir dateadd, por ejemplo,
select ...
WHERE somedate <= datediff(d, 0, getdate())
donde la expresión datediff(d, 0, getdate())
es suficiente para devolver la fecha de hoy sin la parte de hora.
Cuando selecciono la fecha en SQL, se devuelve como 2011-02-25 21:17:33.933
. Pero solo necesito la parte de la fecha, eso es 2011-02-25
. ¿Cómo puedo hacer esto?
El uso es simple:
convert(date, Btch_Time)
Ejemplo a continuación:
Mesa:
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''
En PLSQL puedes usar
to_char(SYSDATE,''dd/mm/yyyy'')
Es un poco tarde, pero use la función "curdate" de ODBC (los corchetes angulares ''fn'' son la secuencia de escape de la función ODBC).
SELECT {fn curdate()}
Salida: 2013-02-01
Para SQL Server 2008:
Convert(date, getdate())
Consulte https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql
Para la versión anterior 2008 :
SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)
Primero convierta la fecha a flotar (que muestra el número), luego ROUND
el número a 0 puntos decimales, luego conviértalo a fecha y hora.
convert(datetime,round(convert(float,orderdate,101),0) ,101)
Prueba esto.
SELECT DATEADD(DD, 0, DATEDIFF(DD, 0, GETDATE()))
Puedes probar este también.
SELECT CONVERT(DATE, GETDATE(), 120)
SELECCIONE la fecha (''2011-02-25 21: 17: 33.933'') ya que la fecha nos dará el 2011-02-25.
Trabajó para mi. Espero que funcione.
Si desea devolver un tipo de fecha como un solo uso de fecha
CONVERT(date, SYSDATETIME())
o
SELECT CONVERT(date,SYSDATETIME())
o
DECLARE @DateOnly Datetime
SET @DateOnly=CONVERT(date,SYSDATETIME())
Supongo que quiere una cuerda
select convert(varchar(10), ''2011-02-25 21:17:33.933'', 120)
Use CAST (GETDATE () como fecha) que funcionó para mí, simple.
Vuelva a convertirlo a datetime después de convertirlo a la fecha para mantener el mismo datatime si es necesario
select Convert(datetime, Convert(date, getdate()) )
puedes usar asi
SELECT Convert(varchar(10), GETDATE(),120)
CAST(
FLOOR(
CAST( GETDATE() AS FLOAT )
)
AS DATETIME
)
http://www.bennadel.com/blog/122-Getting-Only-the-Date-Part-of-a-Date-Time-Stamp-in-SQL-Server.htm