Friss topikok

Day of week

2009.10.22. 16:52 | koc | Szólj hozzá!

Azaz a hét melyik napja van.

Láttam erre egy igen faramuci megoldást, ami a

TO_CHAR(date, 'D')

függvényt használta. Ez ugye azt mondja meg, hogy hanyadik nap ez a dátum az adott héten. Csakhogy az NLS beállítástól függően ez több értéket is mutathat egy adott napra. Hát a kedves kollega kiválasztott egy dátumot, amiről tudta, hogy biztosan péntek. 4-5 évre előre az időben - hogy miért, ne kérdezzétek. Ebből kivonta az ötöt, így képzett egy offset értéket, amit kivonva a függvény értékéből megkapta a függvény magyar nyelvterületen megszokott értékét. Nem szép, de működik. Trükkösebb felhasználók azt mondják erre. Node a hét napját ugyanúgy hívják attól függetlenül, hogy milyen nyelvterületen vagyunk. A Friday az friday, ebből könnyedén ki tudunk indulni.

Nos nem. Ha az NLS-ünk magyarra van álltva, akkor a

TO_CHAR(date, 'DAY')

függvény értéke, el nem ítélhető módon ez lesz egy pénteki napra:

péntek

De kétségbeesésre nincs ok! Szerencsére nem kell ALTER SESSION utasításokkal varázsolnunk. A TO_CHAR függvénynek ugyanis van egy harmadik parametere, amiben az nls-t állíthatjuk, az nls paraméter nevének és értékének megadásával. Ha tehát a

TO_CHAR(date, 'DAY', 'NLS_DATE_LANGUAGE=American')

függvényt használjuk, az már tetszőleges NLS beállítás mellett a várt

friday

értéke fogja visszaadni.

Címkék: nls to char

A bejegyzés trackback címe:

https://plsql.blog.hu/api/trackback/id/tr31468026

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása