Entfernen Sie das führende Anführungszeichen vor der Berechnung in der SQL Server 2008-Abfrage

  • Ich muss zwei Kontonummernspalten aus zwei verschiedenen Tabellen vergleichen, um zu sehen, ob sie übereinstimmen. Die Kontonummer in einer Tabelle enthält ein führendes einfaches Anführungszeichen, die andere jedoch nicht. Meine Frage ist, wie ich das führende Zitat ignorieren oder entfernen könnte, bevor ich den Vergleich in meiner Abfrage vorgenommen habe.

    Vielen Dank im Voraus

    22 November 2011
    marc_suser1374841
3 answers
  • Die SUBSTRING kann verwendet werden, um das erste Zeichen aus dem Feld herauszuschneiden, dh

    SUBSTRING (Feld1, 2)

    Ich würde in Frage stellen, warum das Feld wird in erster Linie mit dem einfachen Anführungszeichen gespeichert.

    22 November 2011
    Dave Barker
  • Und für die ernsthaft überentwickelte Antwort ...:)

    Wenn Sie irgendeine Leistung benötigen (wie Sie.) Wenn Sie es in einer Schleife oder über eine große Anzahl von Datensätzen aufrufen, sollten Sie eine Funktion zur Normalisierung der Eingabe in Betracht ziehen, um das führende Anführungszeichen zu entfernen, falls vorhanden (insbesondere, wenn Sie keine externe Möglichkeit haben, zu sagen, ob dies möglich ist ein führendes Zitat oder nicht). Bei Zeichenfolgenmanipulationen wie diesem sind die SQL CLR -Funktionen normalerweise um eine Größenordnung schneller als die gleichen Manipulationen in SQL. Weitere Informationen finden Sie hier .

    22 November 2011
    Brandon
  • Teilstring ist sehr sinnvoll, wenn die ALL-Daten mit einem einzigen Anführungszeichen beginnen. Seien Sie vorsichtig, wenn die Felder nicht funktionieren, funktioniert die Lösung substring () nicht. Sie können auch

     replace(field1,'''','')
     

    Dies funktioniert jedoch nur, wenn das Feld nur ein einziges Anführungszeichen enthält.

    22 November 2011
    Sparky