By: Jeffrey Yao | Päivitetty: 2019-08-06 | Kommentit (3) | Liittyvät: Enemmän > Päivät
Ongelma
Koska SQL Server 2012: meillä on uusi toiminto calledFORMAT(), se on erittäin voimakas muotoilu datetime ja numeerisia arvoja,mitä ovat joitakin hyvä käyttää tätä toimintoa voidaan käyttää päivittäin DBA työtä?
Ratkaisu
SQL Server T-SQL-MUODOSSA () – funktio on pohjimmiltaan CLR tyyppi järjestelmä toiminta,ja sellaisenaan,.,Net muotoilusäännöt koskevat tätä toimintoa. Tämä funktio returnsa nvarchar arvo (tai null arvo).
– minun päivittäin DBA työtä, tämä toiminto tarjoaa paljon mukavuutta, että otherwiseneed ikäviä T-SQL muuntaminen ja string manipulointia työtä saada formatsI tarvetta.,th>EnrollDate
Kuva 1 – Mietintö
Oletetaan, lähteeni taulukko ja tiedot, kuten seuraavat:
Jos haluamme saada näkyvät tiedot kuten , meidän täytyy laskea, mikä on lasketun sarakkeen, joka perustuu sarakkeessa.,/div>
Mutta päästä eroon epäselvyyttä, voimme käyttää FORMAT () – funktiossa seuraavasti:
declare @dt date='2019-June-08';select FORMAT(@dt, 'ddd') -- returns Sat
Niin, meidän esimerkiksi edellä mainittiin, voimme käyttää seuraavia kyselyn saada thedesired tulos:
select EnrollDate, WeekDay=format(EnrollDate, 'ddd'), NewMembersfrom tempdb.dbo.NewAccount;
tuloksena on:
Käytä SQL Server-MUODOSSA saada Eri Numeeriset esitystavat
On olemassa monia vaatimuksia siitä, miten numeeriset tiedot näytetään, kuten thousandseparator joka 3 numeroa, prosenttiosuus merkki, valuutan etuliite tai eri formatwhen miinus arvo on kohdannut., Seuraavassa taulukossa luetellaan joitakin yleisimmin käytettyjä numeerisia arvomuotoja.
käytännön käytön muoto on esitetty seuraavassa esimerkki, eli previouslywhen minun täytyy tarkistaa rivi laskee taulukoita tietokantaan, minusta se on hyvin inconvenientto kuva mitä erittäin korkea numerot ovat ilman erotin pilkku, varsinkin kun on satoja millionsof riviä tai enemmän. Seuraavassa koodissa luetellaan kunkin taulukon rivit tietokannassa .
– sarakkeessa on pilkulla joka 3 numeroa, joka tekee readingmuch helpompaa kuin sarake.,
käytä SQL Server-muotoa näyttääksesi SQL Server Agent Job Run Duration
SQL Server job history tabledbo.sysjobhistory on sarake nimeltä kuten alla:
Tämä on kokonaisluku sarake, kun minun täytyy luoda raportin, en todellakaan halua tästä HH:MM:SS-muodossa, esimerkiksi jos run_duration on 1, haluan sen olevan 00:00:01,enemmän esimerkkejä on lueteltu seuraavassa taulukossa.,
Run_value | Odotettavissa Display-Format |
---|---|
12 | 00:00:12 |
123 | 00:01:23 |
1234 | 00:12:34 |
12345 | 01:23:45 |
123456 | 12:34:56 |
251234 | 1d+01:12:34 |
Joten kuinka voimme tehdä tämän saavuttamiseksi?
temppu tässä on, että käytän ei-dokumentoitu, mutta yksinkertainen toiminto msdbdatabase, dbo.,agent_datetime, säveltää datetime-arvo syöttämällä nuken arvo,kuten 20000101, sillä @päivämäärä parametrin ja käyttää sarakkeen @aika parametri,ja sitten käyttää MUOTOA() palauttaa HH:MM:SS alustettu tulos.
havainnollistaa, luo pöytä ja asuttaa se somedata simuloimalla sarake dbo.sysjobhistoriallinen pöytä.
seuraavalla koodilla voin muuntaa hhmmssint-arvon HH:MM:SS-merkkijonoarvoksi.,
tuloksena on seuraava, mitä haluan:
Tiivistelmä
tässä vinkki, meillä on revisited theFORMAT () – toiminto käyttöön SQL Server 2012, ja luetellut muutamia käytännön esimerkkejä thatotherwise on vaikea toteuttaa. Toiminto tarjoaa mukavuutta fordaily DBA raportti työstä, ja kun sitä käytetään oikein, toiminto auttaa tekemään koodia, ytimekäs,helppo ymmärtää ja helppo ylläpitää.
en keskustellut funktiossa käytetystä kulttuuriparametrista ()., Tämä kulttuuriparametri voi olla erittäin hyödyllinen joissakin kulttuurimuodossa, kuten valuuttamerkki, arkipäivän nimi, päiväysmuoto (eli vuosi/Kuukausi/Päivä/päivä/vuosi, jne.). Joissakin yrityksissä, joilla on toimistoja eri puolilla maailmaa, voimme rakentaa joitakin kyselyjä, jotka tuottavat kulttuuriyhteensopivia tuloksia.
seuraavat vaiheet
voit lukea muita hyviä vinkkejä MSSQLTips.com puhun samasta aiheesta.
kerro omista havainnoistasi tai tämän toiminnon luovasta käytöstä.,
- – Muodossa SQL Server Päivämäärät MUODOSSA Toiminto
- Uusi FORMAATTI ja CONCAT Toimintoja SQL Server 2012
- SQL Server-toiminto muuntaa kokonaisluku päivämäärän datetime-muodossa
on myös erittäin mielenkiintoinen artikkeli keskustele joitakin puutteita oftheFORMAT () – funktio.,
Viimeksi Päivitetty: 2019-08-06
author
Katso kaikki vihjeeni
- lisää Tietokantakehittäjän vinkkejä…