sql >> データベース >  >> RDS >> Sqlserver

Sql Server 2008 - フルテキストはお金の値を丸めますか?

    編集:

    <無視する> この動作が発生する理由は、SQL フルテキスト検索の既定のワード ブレーカーが英語 (ロケール 1033) で定義されているためです。英語では、コンマは有効なワード ブレーカーであり、それによって数字を 2 つの異なる数字に分割します。ただし、ポルトガル語のワード ブレーカーを使用すると、FTS は非常に巧妙に数字をまとめて保持します。 SQL Server で次のクエリを実行して、指定されたロケールに応じてフルテキスト エンジンが同じ入力をどのように解析するかを確認してください:

    --sys.dm_fts_parser('"12345,10"',1033,NULL,0) からロケール Englishselect * を使用します--sys.dm_fts_parser('"12345,10"', 2070,NULL,0)  

    更新:わかりました、私はあなたのシナリオを再現することができました。はい、SQL Server FTS の既定の動作のようです。ただし、最も近い整数ではなく、数値の最も近い 1/10 (この場合は最も近い 10 センターボ) に切り上げられるようです。

    たとえば、 12345,88 と 12345,9 の両方を検索すると、12345,88 が返されます。 、一方、56789,98 は 56789,98 および 56790 の検索に表示されます。ただし、45678,60 などの数値は切り上げも切り捨てもされずにそのまま残るため、思ったほど悪くはありません。

    ただし、この動作を変更するためにできることがあるかどうかはわかりません。 Google でクイック検索しても何も返されませんでした。



    1. sqlgroupbyとdistinct

    2. SQLServerを使用してLucene.Netを構成する

    3. jsonをキャッシュするための最良の方法

    4. mysqlは一意のキーを組み合わせました