Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server 2008 — zaokrąglanie wartości pieniądza w pełnym tekście?

EDYCJA:

Przyczyną tego zachowania jest to, że domyślne łamacze wyrazów dla wyszukiwania pełnotekstowego SQL są zdefiniowane przez język angielski (lokalizacja 1033). W języku angielskim przecinek jest prawidłowym łamaczem słów, dzieląc w ten sposób Twój numer na dwie różne liczby. Jeśli jednak użyjesz portugalskiego łamacza słów, FTS całkiem sprytnie zachowuje liczby razem. Spróbuj uruchomić następujące zapytanie na serwerze SQL Server, aby zobaczyć, jak aparat pełnotekstowy analizuje te same dane wejściowe w różny sposób w zależności od określonych ustawień regionalnych:

--use locale English
select * from sys.dm_fts_parser('"12345,10"',1033,NULL,0)
--use locale Portuguese
select * from sys.dm_fts_parser('"12345,10"',2070,NULL,0)

AKTUALIZACJA:W porządku, udało mi się zreplikować twój scenariusz i tak, wydaje się, że jest to domyślne zachowanie w przypadku SQL Server FTS. Jednak wydaje się, że zaokrągla się tylko do najbliższej 1/10 liczby (najbliższe 10 centavos w twoim przypadku), a NIE do najbliższej liczby całkowitej.

Na przykład; 12345,88 zostanie zwrócone w wyszukiwaniach zarówno 12345,88, jak i 12345,9 , podczas gdy 56789,98 pojawi się w wyszukiwaniach 56789,98 oraz 56790. Jednak liczba taka jak 45678,60 pozostanie nienaruszona bez zaokrąglania w górę lub w dół, więc nie jest tak źle, jak myślisz.

Nie jestem jednak pewien, czy możesz coś zrobić, aby zmienić to zachowanie. Szybkie wyszukiwanie w Google nic nie zwróciło.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL :BETWEEN vs <=i>=

  2. Zaktualizuj wiele wierszy za pomocą instrukcji select

  3. Skonfiguruj zawsze włączone grupy dostępności programu SQL Server między dwiema replikami synchronicznymi. Część 2

  4. Zainstalowany SQL Server 2008, choć wersja bieżąca to nadal 2005

  5. Klawisz skrótu do modyfikacji procedury składowanej w ssms