Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 10825|Jawab: 0

[Sumber] Pernyataan SQL praktis: estimasi tanggal

[Salin tautan]
Diposting pada 26/11/2014 15.53.01 | | |

DEKLARASIKAN @dt tanggalwaktu
ATUR @dt=TANGGAL()

NYATAKAN @number int
ATUR @number=3

--1. Tentukan tanggal hari pertama atau terakhir tahun
--A. Hari pertama dalam setahun
PILIH Co nVERT(char(5),@dt,120)+ '1-1'

--B. Hari terakhir dalam setahun
PILIH Co nVERT(char(5),@dt,120)+ '12-31'


--2. Hari pertama atau terakhir dari kuartal di mana tanggal yang ditentukan berada
--A. Hari pertama kuartal
PILIH Co nVERT(tanggalwaktu,
Co nVERT (char(8),
DATEADD (Bulan nth,
DATEPART (Seperempat, @dt) * 3 Bulan nth (@dt) -2,
@dt),
120)+ '1 ')

--B. Hari terakhir kuartal (putusan KASUS)
PILIH Co nVERT(tanggalwaktu,
Co nVERT (char(8),
DATEADD (Bulan nth,
DATEPART (Seperempat, @dt) * 3 Bulan nth (@dt),
@dt),
120)
+KASUS KETIKA DATEPART(Seperempat,@dt) dalam(1,4)
KEMUDIAN '31 'ELSE '30' END)

--C. Hari terakhir kuartal (algoritma push langsung)
PILIH TANGGALTAMBAH(Hari,-1,
Co nVERT (char(8),
DATEADD (Bulan nth,
1 + DATEPART (Seperempat, @dt) * 3 Bulan nth (@dt),
@dt),
120)+ '1 ')


--3.Hari pertama atau terakhir bulan di mana tanggal yang ditentukan berada
--A. Hari pertama bulan
PILIH Co nVERT(tanggalwaktu,Co nVERT(char(8),@dt,120)+ '1')

--B. Hari terakhir dalam sebulan
PILIH DATEADD(Hari,-1,Co nVERT(char(8),DATEADD(Bulan nth,1,@dt),120)+ '1')

--C. Hari terakhir dalam sebulan (mudah digunakan metode yang salah)
PILIH DATEADD(Bulan nth,1,DATEADD(Hari,-HARI(@dt),@dt))


--4. Setiap hari dalam seminggu di mana tanggal yang ditentukan berada
PILIH DATEADD(Hari,@number-DATEPART(Hari kerja,@dt),@dt)


--5. Setiap hari dalam seminggu di mana tanggal yang ditentukan berada
--Sebuah.  Minggu sebagai hari pertama dalam seminggu
PILIH DATEADD(Hari,@number-(DATEPART(Hari kerja,@dt)+@@DATEFIRST-1)%7,@dt)

--B.  Senin adalah hari pertama dalam seminggu
PILIH DATEADD(Hari,@number-(DATEPART(Hari kerja,@dt)+@@DATEFIRST-2)%7-1,@dt)






Mantan:Masalah pemanfaatan indeks saat sqlserver menangani seperti '%keyword%'
Depan:Fitur Baru ORACLE 11g - Memungkinkan kunci DDL menunggu kunci DML
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com