T-SQL Fonction pour obtenir les valeurs ASCII des caractères stockés
Je suis en utilisant un T-SQL bloc pour obtenir la décharge de caractères ascii stockées dans une base de données de la colonne. Je sais que ce n'est accomplie facilement dans Oracle à l'aide de la DUMP() fonction. Je ne suis pas taht familier avec SQL Server sytax, mais je suis en utilisant quelque chose comme ça.
SET NOCOUNT ON
-- Create the variables for the current character string position
-- and for the character string.
DECLARE @position int, @string char(15), @output char(1000), @output2 char(2000)
-- Initialize the variables.
SET @position = 1
SET @output2 = 'Start:'
SELECT @string = name from
location where location_type = 4405 and owner_id = 362
and location_id = 53183
WHILE @position <= DATALENGTH(@string)
BEGIN
SELECT @output = CAST(ASCII(SUBSTRING(@string, @position, 1)) AS CHAR)
+ ' ' + CHAR(ASCII(SUBSTRING(@string, @position, 1)))
PRINT @output
--SET @output2 = @output2 + '=' + @output
SET @position = @position + 1
END
--PRINT @output2
SET NOCOUNT OFF
GO
Pour quelque raison que si je dé-commenter le code lié à @output2, il ne sont pas imprimer @output2 correctement.
L'idée est d'obtenir toutes les valeurs ascii retourné comme une seule ligne au lieu d'avoir une ligne pour chaque personnage. Suis-je en train de faire quelque chose de mal?
Voulez-vous dire par ne pas imprimer @output2 correctement? Ce comportement en êtes-vous?
Est-il un contrôle de char qui est écrit à Output2 et qui ne peuvent pas être imprimées?
toujours print "Début:" qui est ce que je suis de l'initialisation. Je ne suis pas sûr que le caractère de contrôle, comme c'est ce que je veux savoir.
Est-il un contrôle de char qui est écrit à Output2 et qui ne peuvent pas être imprimées?
toujours print "Début:" qui est ce que je suis de l'initialisation. Je ne suis pas sûr que le caractère de contrôle, comme c'est ce que je veux savoir.
OriginalL'auteur abhi | 2011-02-14
Vous devez vous connecter pour publier un commentaire.
Modifier les types de données pour @sortie et @output2 de type varchar. Remplacer DataLength avec Len. Char est de longueur fixe et ne pousse pas lorsque vous ajouter des chaînes à la fin de la chaîne.
OriginalL'auteur Mikael Eriksson
Si vous êtes à la recherche pour une seule ligne c'est probablement la easiset (bâtiment sur Cyberkiwi réponse)
OriginalL'auteur Conrad Frix