Cislo s 0 na prvom mieste – MS SQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Cislo s 0 na prvom mieste – MS SQL – Fórum – Programujte.comCislo s 0 na prvom mieste – MS SQL – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Cheki
~ Anonymní uživatel
26 příspěvků
6. 3. 2013   #1
-
0
-

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

Nahlásit jako SPAM
IP: 178.40.83.–
Reklama
Reklama
KIIV+42
God of flame
6. 3. 2013   #2
-
0
-

ulozit jako text, nebo vyuzit formatovani vystupu ze selectu (pokud to samozrejme databaze umi)

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
RomanZ
~ Anonymní uživatel
244 příspěvků
6. 3. 2013   #3
-
0
-

Tel. cisla se musi ukladat jako text.

Tel. cislo muze obsahovat i jine znaky nez cislice.

Nahlásit jako SPAM
IP: 90.176.60.–
P
~ Anonymní uživatel
193 příspěvků
6. 3. 2013   #4
-
0
-

DECLARE @num AS INT;
SET @num = 123456
DECLARE @len AS INT;
SET @len = 9
SELECT RIGHT(CONCAT(REPLICATE('0', @len), CAST(@num AS VARCHAR)), @len) -- 000123456

Nahlásit jako SPAM
IP: 85.93.116.–
P
~ Anonymní uživatel
193 příspěvků
6. 3. 2013   #5
-
0
-

SELECT FORMAT(123456, '000000000')

Nahlásit jako SPAM
IP: 85.93.116.–
RomanZ
~ Anonymní uživatel
244 příspěvků
6. 3. 2013   #6
-
0
-

> 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.

Nahlásit jako SPAM
IP: 90.176.60.–
P
~ Anonymní uživatel
193 příspěvků
7. 3. 2013   #7
-
0
-

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.

Nahlásit jako SPAM
IP: 85.93.116.–
RomanZ
~ Anonymní uživatel
244 příspěvků
7. 3. 2013   #8
-
0
-

> 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.

Nahlásit jako SPAM
IP: 90.176.60.–
KIIV+42
God of flame
7. 3. 2013   #9
-
0
-

#8 RomanZ
text byl hlavne na "napr tel. cislo",

formatovani zase obecne na neco jineho.. (jako ze to existuje)

ale netreba rozpatlavat

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
P
~ Anonymní uživatel
193 příspěvků
7. 3. 2013   #10
-
0
-

#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.

Nahlásit jako SPAM
IP: 85.93.116.–
RomanZ
~ Anonymní uživatel
244 příspěvků
12. 3. 2013   #11
-
0
-

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.

Nahlásit jako SPAM
IP: 90.176.60.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Cislo? — založil Alan

Číslo — založil Garret Raziel

Číslo medzi [: a :] — založil Jakub

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý