Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : conversion bigint [ SQL Server, MSDE, SQL Express / Procédures Stockées ] (bootchoz)

lundi 7 août 2006 à 16:33:56 | conversion bigint

bootchoz

bonjour,
est-il possible de convertir un paramètre passé dans une procédure stockée ? J'ai un varchar(50) que je voudrais convertir en bigint. 
merci pour votre aide...

lundi 7 août 2006 à 18:28:15 | Re : conversion bigint

skweeky

Membre Club Administrateur CodeS-SourceS
Oui c'est possible, les conversions sur SQL Server se font avec CAST (qui est un standard SQL) ou CONVERT (propre à SQL Server).

Voici le lien vers la documentation en ligne :
[ Lien ]


Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration

mardi 8 août 2006 à 09:29:24 | Re : conversion bigint

bootchoz

re,
voici ma procédure. J'ai toujours un pb de Error converting data type varchar to bigint. est-ce que je loupe quelque chose?

CREATE PROCEDURE UpdateRole  @wwid_pers varchar(50), @id_role bigint, @date_deb datetime, @date_exp datetime, @date_sup datetime,
     @id_form varchar(50), @nom_role varchar(50), @code_role varchar(50)
     
AS
 DECLARE @id_EN bigint
 SET @id_EN=CONVERT( bigint, @id_form )

 DECLARE @id_pers bigint
 SET @id_pers=(SELECT personne.id_pers FROM personne WHERE wwid_pers=@wwid_pers)

 DECLARE @id_dem bigint
 DECLARE @var bigint
 
 DECLARE @nom_form varchar(50)
 SET @nom_form=(SELECT nom_form FROM formulaire WHERE id_form=@id_EN)
 
 DECLARE @nom_logi varchar(50)
 SET @nom_logi=(SELECT nom_logi FROM logiciel, formulaire WHERE formulaire.id_logi=logiciel.id_logi AND formulaire.nom_form=@id_EN)
 
 DECLARE @nom_serv varchar(50)
 SET @nom_serv=(SELECT nom_serv FROM service, formulaire WHERE formulaire.id_serv=service.id_serv AND formulaire.nom_form=@id_EN)

 
 SET @var=(SELECT DISTINCT id_dem FROM table_virtuel)
 if(@var is NULL)
  SET @id_dem=((SELECT MAX(id_dem) FROM [demande])+1)
 else
  SET @id_dem=@var
  
 if (@date_exp>@date_deb OR @date_exp=NULL)
 begin
  UPDATE etre_attribue
  SET date_exp=@date_exp, id_dem=@id_dem
  WHERE( id_pers=@id_pers AND id_role=@id_role)
  
  if(@id_role NOT IN (select id_role from table_virtuel))
   INSERT INTO table_virtuel(date_exp, id_role, id_dem, nom_form, nom_logi, nom_serv, nom_role, code_role)
   VALUES(@date_exp, @id_role, @id_dem, @nom_form, @nom_logi, @nom_serv, @nom_role, @code_role)
  else
   UPDATE table_virtuel
   SET date_exp=@date_exp, date_sup=@date_sup, id_dem=@id_dem, nom_form=@nom_form, nom_logi=@nom_logi,
     nom_serv=@nom_serv, nom_role=@nom_role, code_role=@code_role
   WHERE id_role=@id_role
 end
 
 if(@date_sup>@date_deb )
 begin
  UPDATE etre_attribue
  SET date_sup=@date_sup, id_dem=@id_dem
  WHERE( id_pers=@id_pers AND id_role=@id_role)

  if(@id_role NOT IN (select id_role from table_virtuel))
   INSERT INTO table_virtuel(date_sup, id_role, id_dem, nom_form, nom_logi, nom_serv, nom_role, code_role)
   VALUES(@date_sup, @id_role, @id_dem, @nom_form, @nom_logi, @nom_serv, @nom_role, @code_role)
  else
   UPDATE table_virtuel
   SET date_exp=@date_exp, date_sup=@date_sup, id_dem=@id_dem, nom_form=@nom_form, nom_logi=@nom_logi,
     nom_serv=@nom_serv, nom_role=@nom_role, code_role=@code_role
   WHERE id_role=@id_role
 end
GO


mardi 8 août 2006 à 12:54:03 | Re : conversion bigint

skweeky

Membre Club Administrateur CodeS-SourceS
J'ai fait un test juste avec cette portion :

DECLARE

@id_form varchar(50)
SET @id_form =
'123'
DECLARE @id_EN
bigint
SET
@id_EN=CONVERT(bigint, @id_form )

PRINT @id_EN
Et cela fonctionne... A mon av:is celà vient de ce qu'il y a dans la chaîne @id_form
N'y aurait il pas autre chose que des chiffres ?

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration

mardi 8 août 2006 à 14:49:00 | Re : conversion bigint

crilun



crilun
ta chaine contient peut etre des espaces,
regarde du coté de ltrim et rtrim de maniere a supprimer tes esapces avant de tenter ta convertion.

vendredi 11 août 2006 à 14:55:17 | Re : conversion bigint

bootchoz

en fait je recupere @id_form de @id_form=session["id_form"]; ca doit venir de la. pour finir j'ai abandonné l'idee de la session, je me suis rendue compte que ca ne me servbait pas.  merci à vous !



Cette discussion est classé dans : conversion, convertir, bigint


Répondre à ce message

Sujets en rapport avec ce message

convertir string en money [ par chris81 ] comment puis je faire pour convertir un string pour l'inserer dans mon champ de type moneymercihttp://www.correzeweb.comhttp://www.localetv.com Binary 16 to String [ par vapo ] Bonjour, Je m'explique, j'aimerai dans une procédure stockée  (SQLServer 2000)  faire une copie de données  d'une table vers une autre, jus Transformation d'un binary16 eb String.... [ par vapo ] Bonjour, Je m'explique, j'aimerai dans une requête SQL (SQLServer 2000)  faire une copie de données  d'une table vers une autre, jusque [MsSQL 2000]Conversion heure GMT [ par ProphetKy ] Bonjour, j'ai un peit soucis avec la mise en production de mon application. J'effectue dans pas mal de requêtes des GetDate(), mais le serveur SQL Convertir un .mdb en .sdf [ par geii82 ] Bonjour dans le cadre du devellepement d'une application pour pocket pc, je doi utiliser une base de donnée access. Je sais créer les tables par du co convertir char en mois [ par lucki ] Bonjour à tous et bonne journée Voila mon problème :J'ai un champ "freqamois" qui définit en char la fréquence, en mois, d'une opération banquaire(com convertir datediff sous oracle [ par patou06 ] Bonjour à tous,Je travaille sur une appli web jsp qui se connecte indépendamment d'une base de donnée à l'autrej'ai une condition sous SQLServer qui r MySQL se deconnecte lors d'une conversion [ par globule ] Bonjour,Je fais une conversion en VB6 et ADO d'une base Access vers MySQLCette base contient des champs BLOBJe rencontre un probleme sur lla conversio MYSQL conversion d'un champ Blob vers un champ longblob [ par globule ] Bonjour,Je suis en trains de convertir une base access vers MySQL (innoDB), utf8 <p class="Ms Convertir un bool ou int en message texte sur un select [ par petitleon ] Comment afficher un message text en fonction d'un bool (true,false) sur un selectMerci


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.