SqlHints.com

myös ”DateTime2” (vs. ”DateTime”):

1. Käyttämällä ”DateAdd” funktio ei ole triviaali kiertää ei ole ottaa implisiittinen / helppo muuntaminen liukuluku numeerinen (# of päivää.päivän murto-osa) min-päivämäärästä lähtien, esp. yrität ottaa huomioon useita (ellei kaikkia) osia päivämäärästä (eli lisäämällä / vähentämällä 2 täyttä päivämäärää-kertaa yhdessä / toisistaan).

2. Ei voi helposti laskea ” ikä ”(esim. vähentämällä vain yksi” Aikataika ” toisesta vs. käyttämällä ”DateDiff” funktio, joka ei palaa ”Ikä”, kun kaksi päivämäärä-kertaa sattuvat olemaan vastakkaisilla puolilla kalenterin / kellon rajan määritetyn yksikön).

3. Ei voi helposti käyttää ”Avg ”yhteenlaskettu toiminto (vain”Cast ”’ing” Float ”ensin ja takaisin”DateTime”). Btw, jos kysyt, mitä tarkoitus on saada” Avg ” päivämäärä-kertaa: lisäksi käyttää saada keskimääräinen kesto, kun päivämäärä-kertaa (koska yhteinen pohja päivämäärä-aika) käytetään kuvaamaan kesto (yleinen käytäntö), se on myös hyödyllistä saada dashboard-tyyppinen tilastotieto siitä, mitä keskimääräinen päivämäärä-aika on alue / ryhmä päivämäärä-ajat. Vakio ad-hoc kysely tutkimus / vianmääritys arvot sarakkeessa, joka ei välttämättä ole voimassa koskaan / enää ja / tai voi olla tarpeen vanhentua on luetella kunkin arvon esiintymämäärä ja (jos saatavilla) min, avg ja max päivämäärä-aika Leimat liittyvät kyseiseen arvoon.

kyllä, ymmärrän, että on olemassa (melko monimutkainen) kiertokaava (paikassa ”https://siderite.blogspot.com/2015/08/how-to-translate-t-sql-datetime2-to.html”), mutta tämäkin kaava toimii vain vuotta 1970 uudemmille päivämäärille (mikä tarkoittaa sitä, että menetät kaikki ylimääräiset vaihteluvälit *plus* 217 vuotta ja että ylimääräinen vaihteluväli on luultavasti (oletettavasti) yksi ”DateTime2”: n 2 suurimmasta Plussasta, vaikkakaan sitä ei todennäköisesti tarvita useimmissa käyttötapauksissa), eikä ole välttämättä triviaalia, että se tukee enemmän valikoimaa mahdollisten numeeristen ylivirtausongelmien vuoksi.

ja, kyllä, ymmärrän, että voisit myös ”heittää” ”DateTime” ensin (ja tarvittaessa takaisin ”datetime 2”), mutta menettäisit ylimääräisen tarkkuuden ja jälleen, ylimääräinen alue (kaikki ennen vuotta 1753) edut ”datetime 2” vs. ”DateTime”, jotka taas ovat luultavasti 2 suurin ja myös samaan aikaan, luultavasti ei todennäköisesti tarvita, mikä herättää kysymyksen, Miksi käyttää sitä, kun menetät implisiittiset / helppo muunnokset liukulukulukuun numeerinen (# of days) yhteen- / vähennyslaskua / ”ikä” (vs. datediff) / AVG calcs hyötyä, joka on suuri yksi kokemukseni.

Vastaa

Sähköpostiosoitettasi ei julkaista.

More: