Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SELECT CAST jako int, nie bigint
mikmas
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 23.02.2009

Ostrzeżenie: (0%)
-----


Mam kolumnę typu signed int(10) muszę ją przekształcić na unsigned więc robię CAST(kolumna AS UNSIGNED), jednak wtedy zwracana wartość to BIGINT, a potrzebuję INT. Jak to zrobić? Wartość -1 jest wtedy zwracana nie jako 4294967295 (0xFFFFFFFF), a jako 18446744073709551615 (0xFFFFFFFFFFFFFFFF) co jest bardzo zakłamaną wartością.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Skoro INT ma 4 bajty. A unsigned Ci robi z tego 8 bajtów. A Ty potrzebujesz tylko 4. No to zrób sobie SMALLINTa który ma 2 bajty i unsigned x 2 da Ci wymagane 4.

Zresztą, robisz unsigned, a chcesz tam wpakować -1? Gdzie tu logika?

Ewentualnie spróbuj https://dev.mysql.com/doc/refman/5.5/en/ser...ned_subtraction

Ten post edytował Damonsson 18.02.2014, 12:33:52
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 10:16