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?
sql
sql-server
sql-server-2005
Neeraj
sumber
sumber
Jawaban:
Saya kira dia ingin string.
120 disini menceritakan mengkonversi fungsi yang kita melewati tanggal masukan dalam format berikut :
yyyy-mm-dd hh:mi:ss
.sumber
Untuk SQL Server 2008:
Silakan merujuk ke https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql
sumber
DATE
baru pada tahun 2008.date
data karena itu menganggap solusi ini tidak valid.Yang tercepat adalah
datediff
, misTetapi jika Anda hanya perlu menggunakan nilainya, maka Anda dapat melewatkan dateadd, mis
di mana ekspresi
datediff(d, 0, getdate())
cukup untuk mengembalikan tanggal hari ini tanpa porsi waktu.sumber
Gunakan CAST (GETDATE () sebagai tanggal) yang bekerja untuk saya, sederhana.
sumber
CAST(order_date AS DATE)
http://www.bennadel.com/blog/122-Dapat-Hanya-Hanya-Tanggal-Part-tanggal-Tanggal-Tempatkan-Langkah-di-SQL-Server.htm
sumber
Anda bisa menggunakan seperti ini
sumber
Untuk versi 2008 yang lebih lama :
SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)
sumber
Agak terlambat, tetapi gunakan fungsi ODBC "curdate" (angle brack 'fn' adalah urutan fungsi escape ODBC).
Keluaran:
2013-02-01
sumber
SELECT {fn curdate()} FROM (SELECT 1) AS T(X)
dan melihat pada rencana eksekusi aktual (versi xml), Anda akan melihat bahwa apa yang sebenarnya dieksekusi adalahCONVERT(varchar(10),getdate(),23)
. Jadi tipe data dari fungsi ODBC ini adalahvarchar(10)
yang berarti bahwa jika Anda ingin membandingkan hasilnya dengandatetime
Anda, Anda akan mendapatkan konversi implisit darivarchar(10)
menjadidatetime
pada sebuah stringyyyy-mm-dd
. Konversi tersirat itu akan gagalset dateformat dmy
.Anda dapat mencoba yang ini juga.
sumber
Konversikan kembali ke datetime setelah mengonversi ke tanggal untuk menjaga datatime yang sama jika diperlukan
sumber
Jika Anda membutuhkan waktu untuk menjadi nol seperti
2018-01-17 00:00:00.000
:SELECT CONVERT(DATETIME, CONVERT(DATE, GETDATE()), 121)
sumber
Gunakan sederhana:
Contoh di bawah ini:
Meja:
sumber
Sudah terlambat tetapi mengikuti bekerja untuk saya dengan baik
Ketika tipe data adalah tanggal, jam akan terpotong
sumber
Di PLSQL Anda bisa menggunakan
sumber
Pertama-tama Konversikan tanggal menjadi mengambang (yang menampilkan angka), lalu
ROUND
angka menjadi 0 angka desimal, lalu konversikan ke datetime.sumber
Jika Anda ingin mengembalikan jenis tanggal hanya sebagai tanggal gunakan
atau
atau
sumber
Coba ini.
sumber