0

SQl クエリに適用したい関数があります。SQL Server を使用しています。

いい方法が思い浮かびませんが。基本的に、COPY列をチェックしてスペイン語かどうかを確認できるようにしたいのですが、次のようなものを想像します

INFO where isForeign(Copy) から * を選択

関数は次のとおりです。

Function IsForeign(theString)
   Dim strAlphaNumeric
   Dim strChar
   Dim Found
   Dim i

   strAlphaNumeric = "àáâèéçêóô"                                                                   ' French, Spanish
   strAlphaNumeric = strAlphaNumeric & "ÀÈÉÒÓÙàèéòóù"                   ' Italian

   strChar = ""
   Found = False

   ' Characters
   For i = 1 to Len(theString)
          strChar = Mid(theString, i, 1)
          If Instr(strAlphaNumeric, strChar) Then
                 Found = True
          End If
   Next


   IsForeign = Found

終了機能

4

1 に答える 1

0

この関数の複雑さは、入力データによって異なります。

入力データが英語またはスペイン語の場合、一般的なスペイン語の単語と非標準の英語の文字のサブセットを使用すると、おそらく高い信頼性が得られます。

ただし、入力データがポルトガル語、イタリア語、フランス語などの他の言語である可能性がある場合、精度は低くなります。その場合、おそらく、データセット内のすべての単語に対して辞書をチェックすると、より良い結果が得られるでしょう。もちろん、そのメソッドでは、文字列全体に対して受け入れられているすべての言語をチェックする必要があるため、ほとんど効率的ではありません。

おそらく、ある種のベイジアン分析または予測分析が結果をもたらすでしょう。

もちろん、このサイトの範囲内で 100% の精度は達成できない可能性があります。

于 2013-10-17T18:58:10.803 に答える