ďťż
 
MS SQL: jak =?iso-8859-2?Q?zamieni=E6_dok=B3adn=B1_liczb=EA?= nanvarchar? ďťż
 
MS SQL: jak =?iso-8859-2?Q?zamieni=E6_dok=B3adn=B1_liczb=EA?= nanvarchar?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

MS SQL: jak =?iso-8859-2?Q?zamieni=E6_dok=B3adn=B1_liczb=EA?= nanvarchar?



Jacek Osiecki - 04-07-2007 00:01
MS SQL: jak =?iso-8859-2?Q?zamieni=E6_dok=B3adn=B1_liczb=EA?= nanvarchar?
  Witam,

Niezależnie od tego, jak dokładny jest wynik obliczeń (tzn. ile ma miejsc po
przecinku), gdy go tylko zamienię na nvarchar za pomocą:

cast (@wynik AS nvarchar(15))

to jest on znacząco obcinany - do 5, góra 6 miejsc po przecinku.

Czy da się dokonać konwersji float(53) -> nvarchar bez strat?

Pozdrawiam,
--
Jacek Osiecki joshua@ceti.pl GG:3828944
"To nie logika, to polityka"
(c) Kabaret pod Wydrwigroszem 2006





Sylwester Lewandowski - 04-07-2007 00:01

  Witam,

Mam 2 wyjściam, wpardzie nie są one idealne, ale może pomogą:

1. Wykorzystać właściwość funkcji CONVERT

CONVERT (NVARCHAR(128),@wynik,2)
lub
CONVERT (NVARCHAR(128),@wynik,1)

pierwsza opcja jest bardziej dokładna, niestety wyniki są w notacji
naukowej.

2. Najpierw przerzutować na DECIMAL, a potem na nvarchar.

SELECT CONVERT (NVARCHAR(128),CAST (@wynik AS DECIMAL(38,11)))

Tutaj jednak wyniki mogą się różnić ze wzgl. na różnice w zaokrągleniach
przy większej dokładności dla DECIMAL.

Ciekaw jestem, czy ktoś znajdzie lepsze rozwiązanie.

Pozdr.

Jacek Osiecki napisał(a):
> Witam,
>
> Niezależnie od tego, jak dokładny jest wynik obliczeń (tzn. ile ma miejsc po
> przecinku), gdy go tylko zamienię na nvarchar za pomocą:
>
> cast (@wynik AS nvarchar(15))
>
> to jest on znacząco obcinany - do 5, góra 6 miejsc po przecinku.
>
> Czy da się dokonać konwersji float(53) -> nvarchar bez strat?
>
> Pozdrawiam,




Jacek Osiecki - 05-07-2007 00:00

  Dnia Tue, 03 Jul 2007 22:28:05 +0200, Sylwester Lewandowski napisał(a):
> Mam 2 wyjściam, wpardzie nie są one idealne, ale może pomogą:
> 1. Wykorzystać właściwość funkcji CONVERT
> 2. Najpierw przerzutować na DECIMAL, a potem na nvarchar.

Dzięki, tego właśnie szukałem :)

Przy @wyn = 4.114592658907789

print CONVERT (nvarchar(15),CAST(@wyn AS decimal(14,13)))
print CONVERT (NVARCHAR(128),@wyn,2)

dało:

4.1145926589078
4.114592658907789e+000

Tak więc zadowolę się tym decimalem, w zupełności wystarczy :)

Pozdrawiam,
--
Jacek Osiecki joshua@ceti.pl GG:3828944
"To nie logika, to polityka"
(c) Kabaret pod Wydrwigroszem 2006
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO Czy zna (obsługuje) ktoś program Iso Draw ? MYSQL - kodowanie w ISO-PL strona plus baza w iso do utf-8 Kodowanie: z iso na utf [oracle] - Oracle SQL Developer - co to jest SID? [oracle] Baza danych do kursy Introduction to Oracle9i:PL/SQL ? Skąd ją pobrać ? konkurs SQL Injection - 10 PLN na GSM dla pierwszej osoby, ktora dostanie sie do bazy Re: Gdzie mozna jeszcze kupic Microsoft SQL 2000 Enterprise Edition?? EJB3 problem z mapowaniem kolumn
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lunadance.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com