Web design and hosting, database, cloud and social media solutions that deliver business results
  • Geschäftslösungen
    • Robotische Prozessautomatisierung
    • Software
    • Datenbank-Beratungsdienste
      • Datawarehouse-Dienste
      • Datenintegration
      • PowerBI
      • Werkzeuge
    • Website Design
      • Weblokalisierung und -übersetzung
      • Website Sicherheit
    • Cloud Services
      • Microsoft Azure
    • Microsoft Office
    • Sozialen Medien
  • Akademie
    • Unsere Testumgebung
    • Datenbankdesign lernen
      • SQL Server 2008 Wartungsplan
      • Offene Abfrage abrufen
      • Verwenden von SQL Server Daten
      • Verwenden von SQL Server Datum
      • Verwenden von SQL Server Funktionen
      • Verwenden von SQL Server Pivot-Unpivot
    • Lern Web Design
      • ASP-NET
      • CSS
      • Verwendung von JavaScript
    • Lernen von IT-Diensten
      • Anfordern von SSL und Generierung von PFX-Datei in OpenSSL Simple Steps
  • Über
    • Bloggen
    • Karriere
    • Mannschaft
      • Adrian Ananda
      • Ali Al-Amine
      • Ayse Hur
      • Chester Copperpot
      • Gavin Clayton
      • Sai Gangu
      • Suneel Kumar
      • Surya Mukkamala
    • Mappe
čeština (CS)Deutsch (DE)English (EN-US)English (EN-GB)Español (ES)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

Überprüfen Sie das CUSIP-Format mit einer SQL-Funktion

Erstellen Sie eine Funktion zum Überprüfen des CUSIP-Formats in SQL Server

Kontext

Verwendung von Finanzdaten

Dieser Code wurde als Teil einer Importroutine erstellt, um Daten zu bereinigen, die aus externen Quellen kommen, wo es alle möglichen Zeichen gab, die dort nicht hätten sein sollen.

Dieser prüft das Format einer CUSIP .

Dies ist ein erweiterter SQL-Code, der die Dokumentation zum Wikipedia-Artikel über den Link verwendet.

Dies ist Teil von drei verlinkten Artikeln, in denen ISIN-, SEDOL- und CUSIP-Kennungen überprüft werden.

SQL

ALTER FUNCTION CheckCUSIP(@CUSIP NVARCHAR(20))RETURNS INT AS BEGINDECLARE @Check INTIF RIGHT(@CUSIP,1) NOT BETWEEN '0' AND '9' BEGINSET @Check=-1RETURN @CheckENDIF PATINDEX('%[^0-Z]%',@CUSIP)>0 BEGINSET @Check=-3RETURN @CheckENDDECLARE @Sum INT=0,@Letter INT=1,@Char VARCHAR(1),@LetVal INT
WHILE @LetterBEGINSET @Char=SUBSTRING(@CUSIP,@Letter,1)SET @LetVal=((SELECT (CASE WHEN @Char BETWEEN '0' AND '9' THEN @Char ELSE ASCII(UPPER(@Char))-55END))*(CASEWHEN @Letter%2=1 THEN 1 ELSE 2 END))
If @LetVal > 9 BEGINSET @LetVal =(@LetVal % 10)+(@LetVal / 10)End
SET @Sum=@Sum+@LetValSET @Letter=@Letter+1END
SET @Sum=(10 -(@Sum % 10))% 10IF LEN(@CUSIP)<>9 BEGINSET @Check=-4RETURN @CheckEND
IF RIGHT(@CUSIP,1) BETWEEN '0' AND '9' BEGINSET @Check =(CASEWHEN RIGHT(@CUSIP,1)=@Sum THEN 1 ELSE 0 END)ENDRETURN @Check
END

Warnung!

Dabei wird nur das Format des CUSIP überprüft, nicht ob es tatsächlich existiert.

Further Reading

Checking an ISIN
SQL Server 2008, ISIN-Check-Funktion
Check a SEDOL
SEDOL prüfen Korrekte Format-Funktion in SQL

Was this helpful?

Please note, this commenting system is still in final testing.

Author

Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink Cookie-RichtlinieSeitenverzeichnis

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
Die Einstellungen auf dieser Seite sind so eingestellt, dass alle Cookies zulässig sind. Diese können auf unserer Cookie Policy & Settings Seite geändert werden. Wenn Sie diese Seite weiter nutzen, stimmen Sie der Verwendung von Cookies zu.
Ousia Logo
Logout
Ousia CMS Loader