it-swarm.asia

Cara memilih tanggal tanpa waktu dalam SQL

Ketika saya memilih tanggal dalam SQL itu dikembalikan sebagai 2011-02-25 21:17:33.933. Tetapi saya hanya perlu bagian Date, yaitu 2011-02-25. Bagaimana saya bisa melakukan ini?

218
Neeraj

Saya kira dia ingin string

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

Untuk SQL Server 2008:

Convert(date, getdate())  

Silakan merujuk ke https://docs.Microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql

437
Prad9

Yang tercepat adalah datediff , mis.

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

Tetapi jika Anda hanya perlu menggunakan nilainya, maka Anda dapat melewatkan dateadd, mis.

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

di mana ekspresi datediff(d, 0, getdate()) cukup untuk mengembalikan tanggal hari ini tanpa porsi waktu.

52
RichardTheKiwi

Gunakan CAST (GETDATE () sebagai tanggal) yang bekerja untuk saya, sederhana.

33
Anna-leny
21
Orbit

anda bisa menggunakan seperti ini 

SELECT Convert(varchar(10), GETDATE(),120) 
12
A.Goutam

Untuk versi 2008 yang lebih lama :

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

10
DomCha

Anda dapat mencoba yang ini juga.

SELECT CONVERT(DATE, GETDATE(), 120)
2
Ram Pratap

Agak terlambat, tetapi gunakan fungsi "curdate" ODBC (kurung sudut 'fn' adalah urutan pelarian fungsi ODBC).

SELECT {fn curdate()} 

Output: 2013-02-01

2
Stefan Steiger

Gunakan sederhana:

convert(date, Btch_Time)

Contoh di bawah ini:

Meja:

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'
1
Arvind Kumar

Jika Anda ingin mengembalikan jenis tanggal hanya menggunakan tanggal

CONVERT(date, SYSDATETIME())

atau 

SELECT CONVERT(date,SYSDATETIME()) 

atau

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

Di PLSQL Anda bisa menggunakan

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

Tanggal SELECT ('2011-02-25 21: 17: 33.933') karena tanggal akan memberikan 2011-02-25.

Bekerja untukku. Semoga berhasil.

0
Mazhar Ghulam

Pertama-tama Konversikan tanggal menjadi float (yang menampilkan angka), kemudian ROUND angka menjadi 0 titik desimal, kemudian konversikan ke datetime.

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

Coba ini.

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