Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Typ danych sql
Forum PHP.pl > Forum > Przedszkole
Prezidento
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!
nospor
To może pokaż jak te dane wkładasz i co dokładnie wkładasz.
Prezidento
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.
nospor
1) A jaki masz aktualnie ustawiony typ dla pola?
2) zamiast 1.0 spróbuj wstawić 1,0
Prezidento
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"?
mmmmmmm
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.
Prezidento
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?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.