Salut à tous
J'ai une petite problématique ci-dessous. Bon je l'ai résolu autrement, dans une boucle dans le code vb qui récupère cette valeur.
Mais pour ma culture personnelle, je voudrais savoir si c'est possible de le faire dans une requête.
J'ai un champ de type varchar de 600 caractères. Ce champ est en réalité la concaténation de 50 données de 12 caractères chacune.
Ces données représentent des valeurs numériques, à priori entières, et normalement toujours positives. Ces valeurs, dans les 12 caractères, sont parfois cadrées à gauche, avec un remplissage avec le caractère 0x00, ou l'espace, parfois cadrées à droites, avec un remplissage avec le caractère 0x00, ou l'espace, ou le 0.
Une absence de valeur étant représentée soit par un remplissage de 12 0, soit de 12 espaces ou de 12 caractère 0x00
Ma problématique est que j'aurais besoin, dans une requête, de parcourir les 50 blocs de ce champ, d'index 1 à 50 (ou 0 à 49, c'est pas grave), et de pouvoir en retourner l'index du premièr bloc trouvé dont la conversion en nombre donne un nombre différent de 0, les valeurs absentes étant considérées à 0.
Q1 : Est-ce quelque chose de possible avec les fonctionnalités existantes, de T-SQL, sans passer par des ps ?
Q2 :Et sans même en retourner l'index, est-ce déjà possible, en une seule requete, de par exemple, retourner les 50 valeurs discrètes, sans se taper 50 substring ?
Ca, il me semble que oui, il me semble l'avoir déjà fait, mais j'ai complètement oublié comment.
Partager