|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : juillet 2005 Messages : 93 ![]() |
Bonjour,
Sous Sybase ASE 12.5. Comment peut-on convertir une variable de type varChar en une variable de type timeStamp ? Merci, Thig |
|
|
00
|
|
|
#2 |
![]() ![]() |
Le timestamp ne se touche pas. Si vous voulez traiter de la date et de l'heure, préférez un champ DATETIME
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql Administrateur SAP Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums ! |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : juillet 2005 Messages : 93 ![]() |
Pour préciser mon problème :
J'utilise le timestamp dans la clause where d'un update pour vérifier que la ligne que je veux modifier n’ait pas été modifiée par un autre traitement où utilisateur. Je récupère le timestamp comme paramètre d'une proc stock, sous forme d'un chaine (varchar) et je cherches comment convertir ma variable de type varchar en variable de type timestamp pour l'utiliser dans la clause where d'un update. Thig |
|
|
00
|
|
|
#4 |
![]() ![]() |
Pourquoi ne le récupérez-vous pas en timestamp directement ?
sinon
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql Administrateur SAP Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums ! |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : juillet 2005 Messages : 93 ![]() |
Bonjour,
Malheureusement, je ne peux pas directement récupérer une variable de type timestamp car l'application client ne connait pas ce type de donnée; cette donnée est transformé par le client en chaine... D'autre part la fonction "convert(timestamp, @var)" me retourne l'erreur : type 'timestamp' is not a defined system type D'apres la doc de sybase, un "timestamp" est en fait un varbinary( 8 ), mais la fonction convert(varbinary( 8 ), @var) fonctionne, mais ne semble pas donner la bonne valeur ... Merci, Thig |
|
|
00
|
|
|
#6 | |
|
Membre du Club
![]() Inscription : octobre 2005 Messages : 79 ![]() |
Citation:
Normalement si tu utilises des transactions pour ton update la donnée ne peux pas être modifier pendent ta mise à jour du fait qu'il a un vérrou exclusif sur ta table (ou page ou rows, selon ta configuration). |
|
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : juillet 2005 Messages : 93 ![]() |
Bonjour
Non et l'utilisation de transaction ne me semble pas possible dans la cinématique des écrans de mon client. Aussi, j'utilise une fonction de conversion maison et très bidouille... en attendant mieux... .. SELECT @ASETimeStamp = "00000000" SELECT @i = 0 WHILE @i < 8 BEGIN SELECT @ASETimeStamp = STUFF(@ASETimeStamp,@i+1,1,CHAR(HEXTOINT("0x"+SUBSTRING(@PbTimeStamp,1+(@i*2),2)))) SELECT @i = @i + 1 END ... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com