Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL] Typ danych sql
-Prezidento-
post 9.07.2012, 08:47:02
Post #1





Goście







Witam

Chcę stworzyć w bazie SQL kolumnę która będzie wypełniona takimi liczbami, jak np. 59.9028073
Jaki umieścić dla niej typ danych? Próbowałem na wiele sposobów, z floatem, z intem, ale zawsze wyrzuca błąd danych gdy chce umieścić taką wartość w tym polu.

Pzdr!
Go to the top of the page
+Quote Post
nospor
post 9.07.2012, 08:57:48
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




To może pokaż jak te dane wkładasz i co dokładnie wkładasz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-Prezidento-
post 9.07.2012, 09:06:18
Post #3





Goście







odpalam program Microsoft SQL Server Management Studio, odpalam tabelę której potrzebuję, do kolumny "test 1" chcę ręcznie umieścić wartość "57.9028073" albo "18.971600200000012" (bez cudzysłowia oczywiście). Wtedy otrzymuję błąd o niepoprawnym typie wartości.
Go to the top of the page
+Quote Post
nospor
post 9.07.2012, 09:08:02
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) A jaki masz aktualnie ustawiony typ dla pola?
2) zamiast 1.0 spróbuj wstawić 1,0


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-Prezidento-
post 9.07.2012, 09:43:21
Post #5





Goście







1) co do typu - różne, testowałem dla float, money, decimal itp - ten sam efekt
2) no właśnie, wiem że dla przecinka zadziała idealnie. Ale ja potrzebuje mieć tam kropkę, nie przecinek. Jest jakis sposób dla "kropki"?
Go to the top of the page
+Quote Post
mmmmmmm
post 9.07.2012, 10:28:29
Post #6





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Cytat(Prezidento @ 9.07.2012, 10:43:21 ) *
1) co do typu - różne, testowałem dla float, money, decimal itp - ten sam efekt

float/real są typami 'bardzo' niedokładnymi.
money ma tylko 4 miejsca po przecinku
decimal będzie dla ciebie najlepszy
Cytat(Prezidento @ 9.07.2012, 10:43:21 ) *
2) no właśnie, wiem że dla przecinka zadziała idealnie. Ale ja potrzebuje mieć tam kropkę, nie przecinek. Jest jakis sposób dla "kropki"?

przecinek, a kropka to tylko sposób PREZENTACJI danych. Uwierz mi - w bazie są ona zapisywane bez niczego (ani kropka, ani przecinek). We wszelkiego rodzaju gridach do wprowadzania danych stosuje się ustawienia regionalne. Natomiast za pomocą SQL-a liczby zmiennoprzecinkowe do bazy dodajemy ZAWSZE z kropką - przecinek służy do oddzielenia poszczególnych danych.
Go to the top of the page
+Quote Post
-Prezidento-
post 9.07.2012, 11:17:21
Post #7





Goście







okej, dzięki za odpowiedź. Ustawiłem już kolumnę, typ decimal (17,15) -> Co gdy liczba którą będę chciał wstawić będzie postaci 123.12312312313123? wtedy obetnie ze 123 na 23 i po kropce usunie wszystkie znaki od 15?

Do tego, jeżeli w pliku mam przypisaną tą zmienną jako double x = 52.22105994970536; , to jej zapis przejdzie do bazy?
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 11:51