Cawte, aky datovy typ, resp ako mam spravit aby mi v selecte dalo vystup napr tel. cisla s 0 na probom mieste? 090xxxxxx?
Ide mi o to prve miesto aby bola nula
dik
> SELECT FORMAT(123456, '000000000')
To je v pripade tel. cisel spatne. Tel. cisla jsou ruzne dlouha, mohou obsahovat znamenko plus atd.
Zkus si predstavit, ze s timhle formatovanim potrebujes zavolat hasice :)
Telefonni cislo neni integer.
Cawte, aky datovy typ, resp ako mam spravit aby mi v selecte dalo vystup napr tel. cisla s 0 na probom mieste? 090xxxxxx?
Ide mi o to prve miesto aby bola nula
Kde v me odpovedi je tvrzeni, ze integer je spravny typ na ukladani tel. cisla? Odpovidam na zadanou otazku.
> P: Odpovidam na zadanou otazku.
To si nemyslim. Kde je v puvodni otazce tvrzeni, ze chce neco prevadet z integeru? Pta se prece, jaky ma pouzit datovy typ.
KIIV odpovedel spravne "ulozit jako text" a vzapeti dal uplne scestnou informaci "vyuzit formatovani vystupu ze selectu". To je velka chyba. Muzes mit cisla +420123456789 a 156 a oboje je platne telefonni cislo, a kdyz pred to zacnes automaticky doplnovat nulu, dostanes neplatne cislo.
Z toho plynou dve veci:
1. Pokud ma Cheki cisla ulozena bez nuly a nula k nim patri, tak je v pytli,
2. Odpovedi zacinajici DECLARE @num AS INT; jsou uplne mimo.
#8 RomanZ
Mily RomanZi,
nezazlivam Ti neznalost ani neschopnost pochopit text, to jsou dost caste vlastnosti a zadny uceny z nebe nespadl. Co mne ale vzdy dozere, je jejich kombinace s aroganci.
Uznavam, ze dotaz neni formulovany zrovna jednoznacne. Podle jeho zneni vsak jadro problemu neni v tom, jak ma pracovat s telefonnimi cisly, ale v tom, jak na vystupu formatovat cislo tak, aby vysledek, je-li kratsi nez pozadovana delka, byl zleva doplnen nulami. V dotazu je uvedeno "napr. tel. cisla". Pro Tvoji informaci, problem se muze tykat i jinych cisel nez telefonnich - rodna cisla, cisla bankovnich uctu, variabilni symboly, specificke symboly, vyrobni cisla atd. Napr. pri elektronickem predavani dat klidne muze byt pozadovano doplneni cisel zleva nulami na pozadovanou delku.
Dekujeme za pouceni o tom, jak mohou vypadat telefonni cisla. Moje odpovedi v duchu predchoziho odstavce obsahuji funkcni priklady na pozadovane formatovani jakychkoliv cisel pri vystupu. Tazatel si je jiste dokaze prizpusobit pro svou potrebu, vcetne pripadne zameny typu INT za jiny typ. Pokud se v chapani dotazu mylim a moje odpoved tazatele neuspokojila, resp. je uplne mimo, ocekaval bych upresneni dotazu od nej, a to aspon trochu slusnou formou. Kazdopadne nemam potrebu hodnotit odpovedi jinych. Ani se neodvazuji vyjadrovat k tomu, jestli je tazatel v pytli, protoze k tomu jednoduse nemam dost informaci.
Arogance? Kde? Pokud jsem někomu ublížil, tak se omlouvám, nemyslel jsem to zle. Když však své příspěvky znovu prohlížím, nejsem si vědom ničeho závadného. Pokud jsem nějakou radu považoval za špatnou, uvedl jsem i argumenty, proč si to myslím. Není v tom nic osobního.
Jak P, tak KIIV máte oba pravdu v tom, že obecně číslo (i řetězec) je možno zleva doplnit nulami a oba jste poskytli pro takový případ platné rady.
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku