2013-10-17 1 views
0

J'ai une fonction que je voudrais appliquer à ma requête SQl. J'utilise SQL Server.SQL et VB - Comment appliquer une fonction pour tester si la copie est en espagnol

Je ne peux pas penser à un bon moyen de le faire cependant. Fondamentalement, je veux être en mesure de vérifier la copie colonne pour voir si elle est de l'espagnol j'imagine quelque chose comme ça

Select * from INFO où isForeign (Copie)

Voici la fonction:

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 

Fin Fonction

+0

Vous devez ajouter les informations sur les SGBD que vous utilisez. Cela pourrait être important. –

+2

Je serais mal à essayer d'écrire quelque chose comme ça moi-même et commencer [ici] (http://code.google.com/p/language-detection/) –

+0

J'utilise SQL Server .... je viens de penser à quelque chose pense que je vais utiliser: – tree

Répondre

0

La complexité de cette fonction dépend des données d'entrée. Si les données d'entrée sont en anglais ou en espagnol, l'utilisation d'un sous-ensemble de mots espagnols communs et de caractères anglais non standard donnerait probablement un degré de confiance élevé. Cependant, si les données d'entrée pouvaient être d'autres langues, portugais, italien, français, etc., cela donnerait un faible degré de précision. Dans ce cas, une vérification du dictionnaire par rapport à tous les mots de votre jeu de données donnera peut-être un meilleur résultat. Bien sûr, pour cette méthode, vous devez vérifier toutes les langues acceptées pour toute la chaîne, donc peu efficace. Une analyse bayésienne ou une analyse prédictive produirait peut-être des résultats.

Bien sûr, 100% de précision est susceptible d'être irréalisable dans le cadre de ce site.

Questions connexes