Web design and hosting, database, cloud and social media solutions that deliver business results
  • Des solutions d'affaires
    • Automatisation des processus robotiques
    • Logiciel
    • Services de base
      • Intégration de données
      • Power BI
      • Services d'entrepôt de données
      • Tools
    • Conception de site Web
      • Localisation et traduction Web
      • Sécurité du site Web
    • Services Cloud
      • Microsoft Azure
    • Média Social
    • Microsoft Office
  • Académie
    • Conception de bases de données d'apprentissage
      • Utilisation de données SQL Server
      • Obtenir la requête ouverte
      • Plan de maintenance SQL Server 2008
      • Utilisation des dates SQL Server
      • Utilisation de SQL Server Pivot-Unpivot
      • Utiliser SQL Server Fonctions
    • Apprentissage de la conception Web
      • CSS
      • ASP NET
    • Cloud d'apprentissage et services informatiques
      • Demande SSL et génération de fichier PFX dans OpenSSL étapes simples
  • Sur
    • Carrières
    • Équipe
      • Ali Al Amine
      • Chester Copperpot
      • Gavin Clayton
      • Suneel Kumar
    • Portefeuille
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)

SQL Server 2008, ISIN Fonction de contrôle

Créez une fonction pour vérifier le format ISIN dans SQL Server

Author

Ce code a été créé dans le cadre d'une routine d'importation pour nettoyer les données venant de sources externes, où il y avait toutes sortes de personnages qui n'auraient pas dû être là.
Celui-ci vérifie le format d'un ISIN . Ceci est élargi code SQL en utilisant la documentation sur l'article de Wikipedia sur le lien. Vous aurez besoin pour créer le tableau suivant pour contenir toutes les informations sur le pays.
Cela fait partie de trois articles liés qui va vérifier ISIN, SEDOL et CUSIP identifiants.

Create Table

CREATE TABLE SecuritiesIssuer(

SecuritiesIssuerID intIDENTITY(1,1) NOT NULL CONSTRAINT PK_SecuritiesIssuerID PRIMARY KEY,

SecuritiesIssuerShort NVARCHAR(2) NULL,

SecuritiesIssuerCountry NVARCHAR(50) NULL,

SecuritiesIssuerDescription NVARCHAR(max) NULL)

ISIN Countries

Short Country Description
AF AFGHANISTAN NULL
AX ÅLAND ISLANDS NULL
AL ALBANIA NULL
DZ ALGERIA NULL
AS AMERICAN SAMOA NULL
AD ANDORRA NULL
AO ANGOLA NULL
AI ANGUILLA NULL
AQ ANTARCTICA NULL
AG ANTIGUA AND BARBUDA NULL
AR ARGENTINA NULL
AM ARMENIA NULL
AW ARUBA NULL
AU AUSTRALIA NULL
AT AUSTRIA NULL
AZ AZERBAIJAN NULL
BS BAHAMAS NULL
BH BAHRAIN NULL
BD BANGLADESH NULL
BB BARBADOS NULL
BY BELARUS NULL
BE BELGIUM NULL
BZ BELIZE NULL
BJ BENIN NULL
BM BERMUDA NULL
BT BHUTAN NULL
BO BOLIVIA, PLURINATIONAL STATE OF NULL
BQ BONAIRE, SINT EUSTATIUS AND SABA NULL
BA BOSNIA AND HERZEGOVINA NULL
BW BOTSWANA NULL
BV BOUVET ISLAND NULL
BR BRAZIL NULL
IO BRITISH INDIAN OCEAN TERRITORY NULL
BN BRUNEI DARUSSALAM NULL
BG BULGARIA NULL
BF BURKINA FASO NULL
BI BURUNDI NULL
KH CAMBODIA NULL
CM CAMEROON NULL
CA CANADA NULL
CV CAPE VERDE NULL
KY CAYMAN ISLANDS NULL
CF CENTRAL AFRICAN REPUBLIC NULL
TD CHAD NULL
CL CHILE NULL
CN CHINA NULL
CX CHRISTMAS ISLAND NULL
CC COCOS (KEELING) ISLANDS NULL
CO COLOMBIA NULL
KM COMOROS NULL
CG CONGO NULL
CD CONGO, THE DEMOCRATIC REPUBLIC OF THE NULL
CK COOK ISLANDS NULL
CR COSTA RICA NULL
CI CÔTE D’IVOIRE NULL
HR CROATIA NULL
CU CUBA NULL
CW CURAÇAO NULL
CY CYPRUS NULL
CZ CZECH REPUBLIC NULL
DK DENMARK NULL
DJ DJIBOUTI NULL
DM DOMINICA NULL
DO DOMINICAN REPUBLIC NULL
EC ECUADOR NULL
EG EGYPT NULL
SV EL SALVADOR NULL
GQ EQUATORIAL GUINEA NULL
ER ERITREA NULL
EE ESTONIA NULL
ET ETHIOPIA NULL
FK FALKLAND ISLANDS (MALVINAS) NULL
FO FAROE ISLANDS NULL
FJ FIJI NULL
FI FINLAND NULL
FR FRANCE NULL
GF FRENCH GUIANA NULL
PF FRENCH POLYNESIA NULL
TF FRENCH SOUTHERN TERRITORIES NULL
GA GABON NULL
GM GAMBIA NULL
GE GEORGIA NULL
DE GERMANY NULL
GH GHANA NULL
GI GIBRALTAR NULL
GR GREECE NULL
GL GREENLAND NULL
GD GRENADA NULL
GP GUADELOUPE NULL
GU GUAM NULL
GT GUATEMALA NULL
GG GUERNSEY NULL
GN GUINEA NULL
GW GUINEA-BISSAU NULL
GY GUYANA NULL
HT HAITI NULL
HM HEARD ISLAND AND MCDONALD ISLANDS NULL
VA HOLY SEE (VATICAN CITY STATE) NULL
HN HONDURAS NULL
HK HONG KONG NULL
HU HUNGARY NULL
IS ICELAND NULL
IN INDIA NULL
ID INDONESIA NULL
IR IRAN, ISLAMIC REPUBLIC OF NULL
IQ IRAQ NULL
IE IRELAND NULL
IM ISLE OF MAN NULL
IL ISRAEL NULL
IT ITALY NULL
JM JAMAICA NULL
JP JAPAN NULL
JE JERSEY NULL
JO JORDAN NULL
KZ KAZAKHSTAN NULL
KE KENYA NULL
KI KIRIBATI NULL
KP KOREA, DEMOCRATIC PEOPLE’S REPUBLIC OF NULL
KR KOREA, REPUBLIC OF NULL
KW KUWAIT NULL
KG KYRGYZSTAN NULL
LA LAO PEOPLE’S DEMOCRATIC REPUBLIC NULL
LV LATVIA NULL
LB LEBANON NULL
LS LESOTHO NULL
LR LIBERIA NULL
LY LIBYA NULL
LI LIECHTENSTEIN NULL
LT LITHUANIA NULL
LU LUXEMBOURG NULL
MO MACAO NULL
MK MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF NULL
MG MADAGASCAR NULL
MW MALAWI NULL
MY MALAYSIA NULL
MV MALDIVES NULL
ML MALI NULL
MT MALTA NULL
MH MARSHALL ISLANDS NULL
MQ MARTINIQUE NULL
MR MAURITANIA NULL
MU MAURITIUS NULL
YT MAYOTTE NULL
MX MEXICO NULL
FM MICRONESIA, FEDERATED STATES OF NULL
MD MOLDOVA, REPUBLIC OF NULL
MC MONACO NULL
MN MONGOLIA NULL
ME MONTENEGRO NULL
MS MONTSERRAT NULL
MA MOROCCO NULL
MZ MOZAMBIQUE NULL
MM MYANMAR NULL
NA NAMIBIA NULL
NR NAURU NULL
NP NEPAL NULL
NL NETHERLANDS NULL
NC NEW CALEDONIA NULL
NZ NEW ZEALAND NULL
NI NICARAGUA NULL
NE NIGER NULL
NG NIGERIA NULL
NU NIUE NULL
NF NORFOLK ISLAND NULL
MP NORTHERN MARIANA ISLANDS NULL
NO NORWAY NULL
OM OMAN NULL
PK PAKISTAN NULL
PW PALAU NULL
PS PALESTINIAN TERRITORY, OCCUPIED NULL
PA PANAMA NULL
PG PAPUA NEW GUINEA NULL
PY PARAGUAY NULL
PE PERU NULL
PH PHILIPPINES NULL
PN PITCAIRN NULL
PL POLAND NULL
PT PORTUGAL NULL
PR PUERTO RICO NULL
QA QATAR NULL
RE RÉUNION NULL
RO ROMANIA NULL
RU RUSSIAN FEDERATION NULL
RW RWANDA NULL
BL SAINT BARTHÉLEMY NULL
SH SAINT HELENA, ASCENSION AND TRISTAN DA CUNHA NULL
KN SAINT KITTS AND NEVIS NULL
LC SAINT LUCIA NULL
MF SAINT MARTIN (FRENCH PART) NULL
PM SAINT PIERRE AND MIQUELON NULL
VC SAINT VINCENT AND THE GRENADINES NULL
WS SAMOA NULL
SM SAN MARINO NULL
ST SAO TOME AND PRINCIPE NULL
SA SAUDI ARABIA NULL
SN SENEGAL NULL
RS SERBIA NULL
SC SEYCHELLES NULL
SL SIERRA LEONE NULL
SG SINGAPORE NULL
SX SINT MAARTEN (DUTCH PART) NULL
SK SLOVAKIA NULL
SI SLOVENIA NULL
SB SOLOMON ISLANDS NULL
SO SOMALIA NULL
ZA SOUTH AFRICA NULL
GS SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS NULL
SS SOUTH SUDAN NULL
ES SPAIN NULL
LK SRI LANKA NULL
SD SUDAN NULL
SR SURINAME NULL
SJ SVALBARD AND JAN MAYEN NULL
SZ SWAZILAND NULL
SE SWEDEN NULL
CH SWITZERLAND NULL
SY SYRIAN ARAB REPUBLIC NULL
TW TAIWAN, PROVINCE OF CHINA NULL
TJ TAJIKISTAN NULL
TZ TANZANIA, UNITED REPUBLIC OF NULL
TH THAILAND NULL
TL TIMOR-LESTE NULL
TG TOGO NULL
TK TOKELAU NULL
TO TONGA NULL
TT TRINIDAD AND TOBAGO NULL
TN TUNISIA NULL
TR TURKEY NULL
TM TURKMENISTAN NULL
TC TURKS AND CAICOS ISLANDS NULL
TV TUVALU NULL
UG UGANDA NULL
UA UKRAINE NULL
AE UNITED ARAB EMIRATES NULL
GB UNITED KINGDOM NULL
US UNITED STATES NULL
UM UNITED STATES MINOR OUTLYING ISLANDS NULL
UY URUGUAY NULL
UZ UZBEKISTAN NULL
VU VANUATU NULL
VE VENEZUELA, BOLIVARIAN REPUBLIC OF NULL
VN VIET NAM NULL
VG VIRGIN ISLANDS, BRITISH NULL
VI VIRGIN ISLANDS, U.S. NULL
WF WALLIS AND FUTUNA NULL
EH WESTERN SAHARA NULL
YE YEMEN NULL
ZM ZAMBIA NULL
ZW ZIMBABWE NULL
XS International NULL

SQL

ALTER FUNCTION CheckISIN(@ISIN NVARCHAR(12))

RETURNS INT AS BEGIN

DECLARE @Check INT

--Check Digit not available

IF RIGHT(@ISIN,1) NOT BETWEEN '0' AND '9' BEGIN

SET @Check=-1

RETURN @Check

END

--Check country not available

IF (SELECT COUNT(*) FROM SecuritiesIssuer WHERE SecuritiesIssuerShort=LEFT(@ISIN,2))=0 BEGIN

SET @Check=-2

RETURN @Check

END

IF PATINDEX('%[^0-Z]%',@ISIN)>0 BEGIN

SET @Check=-3

RETURN @Check

END

 

DECLARE @Data NVARCHAR(30)=LEFT(@ISIN,11)

DECLARE @MultOdd INT= 1, @MultEve INT= 1

DECLARE @Sum INT=0,@StrOdd NVARCHAR(60)='',@StrEve NVARCHAR(60)=''

DECLARE @Letter INT,@Text VARCHAR(1)

      SET @Letter =PATINDEX('%[A-Z]%',@Data)

      SET @Text=SUBSTRING(@Data,@Letter,1)

      BEGIN

      WHILE @Letter>0

      BEGIN

      SET @Data=STUFF(@Data,@Letter,1,ASCII(UPPER(@Text))-55)

     

      SET @Letter =PATINDEX('%[A-Z]%',@Data)

      SET @Text=SUBSTRING(@Data,@Letter,1)

      END

END

--Get Length Multiplier

IF LEN(@Data)%2=0

BEGIN

SET @MultEve = 2;

END

ELSE

SET @MultOdd = 2;

 

SET @Letter = 1

WHILE @Letter<=LEN(@Data) BEGIN

IF @Letter%2=1 BEGIN

SET @StrOdd=@StrOdd+CONVERT(VARCHAR(60),CONVERT(INT,SUBSTRING(@Data,@Letter,1))*@MultOdd);

END

ELSE

SET @StrEve=@StrEve+CONVERT(VARCHAR(60),CONVERT(INT,SUBSTRING(@Data,@Letter,1))*@MultEve);

SET @Letter=@Letter+1

END

SET @Data=@StrOdd+@StrEve

 

SET @Letter = 1

WHILE @Letter<=LEN(@Data) BEGIN

SET @Sum=@Sum+CONVERT(INT,SUBSTRING(@Data,@Letter,1))

SET @Letter=@Letter+1

END

 

IF LEN(@ISIN)<>12 BEGIN

SET @Check=-4

RETURN @Check

END

 

IF ISNULL(@Check,0)=0 BEGIN

SET @Check =(SELECT (CASE WHEN RIGHT(@ISIN,1)=CONVERT(VARCHAR(1),(10-(@Sum%10))%10) THEN 1 ELSE 0 END));

END

 

RETURN @Check

END

Cela ne fera que vérifier le format de la ISIN, pas si elle existe réellement et est valide.

Services Web, base de données et cloud pour l'île de Wight et la côte sud
Un consultant avec 20 ans d'expérience dans l'industrie informatique et une connaissance unique des services Web, de base de données et cloud qui peuvent faire passer votre entreprise au niveau supérieur
Apprenez avec nous divers codes basés sur le Web et la base de données
L'académie Claytabase a été créée dans le but d'offrir des opportunités aux diplômés et aux apprentis qui souhaitent se lancer dans l'informatique
Apprentissage du développement et de la conception Web
Une sélection d'articles sur l'utilisation efficace de CSS, HTML, JavaScript et ASP.NET à partir de problèmes que nous avons surmontés dans le passé
Une sélection d'articles de conception de sites Web utilisant ASP.NET
Au cours de notre travail avec ASP.NET, nous avons rencontré de nombreux problèmes qui devaient être résolus. J'espère que cela vous fera gagner du temps.
Appeler Google Translate à partir d'ASP.NET à l'aide de Post
Appeler Google Translate à partir d'ASP.NET en utilisant POST pour des documents plus longs à partir de votre code derrière.
Création d'un sitemap XML à partir de SQL Server en ASP NET
Création d'un sitemap XML à partir de SQL Server en ASP NET
Créer un flux RSS pour votre site web
Un moyen facile de créer un flux RSS pour votre site Web dans ASP.NET
Social Media Tweet Share Like Follow Buttons pour Google Twitter et Facebook
.NET, Création de boutons de partage de médias sociaux avec ou sans Javascript dans C # et VB.NET
Procédure stockée avec plusieurs ensembles de données sur une page Web
Procédure stockée avec plusieurs ensembles de données dans Gridviews dans la page Web
Utilisation de données temporaires dans ASP.NET GridView
Créez une page de test avec une Gridview utilisant uniquement des données temporaires dans ASP.NET
Articles CSS
Articles CSS
Créer un CSS de défilement
Le défilement peut sauver beaucoup d'espace, et peut être manipulé de manière très délicate dans CSS3, couplé à la puissance de l'image CSS Sprites et des calculs, nous allons transformer cette image ci-dessous dans la bannière rotative.
Créer des objets en baisse dans CSS
Comment créer des objets en baisse dans CSS
Services d'apprentissage en nuage
Une sélection d'articles autour de l'administration du cloud et des services informatiques, y compris Office 365, les services de domaine et les certificats de sécurité
Demande de SSL et génération de fichier PFX dans OpenSSL Simple Steps
Demande de licence SSL et génération de fichier PFX dans OpenSSL en quelques étapes simples
Conception de bases de données d'apprentissage
Au fil des ans, nous avons rencontré et résolu des problèmes liés à la base de données. Vous pouvez parcourir certains d'entre eux ici et nous espérons qu'ils pourront vous aider à optimiser vos propres systèmes
Automatiser la requête ouverte dans MS SQL Server
Cette table et cet ensemble de procédures stockées vous permettront d'automatiser le transfert des données des bases de données Oracle et Progress vers SQL Server.
Un plan de maintenance complet pour SQL Server 2008
Plan de maintenance SQL Server qui peut sauvegarder et restaurer les fichiers de base de données sur plusieurs serveurs, réorganiser ou reconstruire les index en fonction du temps
Audit et synchronisation des données dans une base de données croisée à l'aide d'un déclencheur
Auditer et synchroniser des tables dans différentes bases de données, qui peuvent avoir une structure légèrement différente en créant un déclencheur
Supprimer un utilisateur sans laisser de données orphelines dans SQL Server
Supprimer complètement les utilisateurs de SQL Server sans laisser de données orphelines
Procédure stockée pour reconstruire ou réorganiser les index de base de données fragmentés
Une procédure stockée réutilisable que vous pouvez appeler pour réindexer n'importe quelle base de données en entrant le nom de la base de données.
Un script dynamique pour restaurer la base de données SQL Server à partir d'une procédure stockée
Créez une procédure stockée centralisée, générique et réutilisable à l'aide d'un script SQL dynamique capable de restaurer des bases de données à l'aide d'un certain nombre de paramètres dans le cadre d'un plan de maintenance plus large
L'espace disque et l'adresse email de la taille de la base de données
Créez une procédure stockée qui enverra l'espace disque et les alertes de base de données par courrier électronique que vous pouvez joindre à un travail
Procédure stockée pour supprimer toutes les connexions à la base de données ou au serveur sélectionné
Procédure stockée SQL pour supprimer toutes les connexions à la base de données ou au serveur sélectionné, à l'exception du processus qui l'appelle.
Utilisation efficace des données SQL Server
L'utilisation efficace des données SQL Server permet de gagner du temps en ressources humaines et informatiques. Voici quelques-uns de nos meilleurs articles de traitement et de nettoyage des données
Construire un système de gestion de contenu dans SQL Server et NET
Comment créer un système de gestion de contenu avec une base de données SQL Server et une application de formulaires Web ASP.NET. C'est à partir de la toute première version d'Ousia.
SSIS, créer un fichier Excel dynamique avec des noms de feuille dynamiques
Créez un fichier Excel dynamique avec des noms de feuille dynamiques dans SSIS. J'ai trouvé que c'était l'un des moyens les plus simples de créer dynamiquement un fichier Excel avec des noms de feuille dynamiques.
Fonction de retour du jour spécifique du mois
SQL Server 2008, fonction pour retourner le jour du mois spécifique
Indexation efficace de la base de données
L'indexation efficace de la base de données dans une base de données normalisée aura plus d'impact sur les performances que le simple fait de jeter des ressources supplémentaires sur le système
SQL Server 2008, ISIN Fonction de contrôle
Créez une fonction pour vérifier le format ISIN dans SQL Server

Please note, this commenting system is still in final testing.
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink Politique de cookieSitemap

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
Les paramètres de ce site sont configurés pour autoriser tous les cookies. Ceux-ci peuvent être modifiés sur notre page cookies. En continuant à utiliser ce site, vous acceptez l'utilisation de cookies.
Ousia Logo
Logout
Ousia CMS Loader