Comment insérer un nombre à virgule de guillemets dans un champ numérique?
J'ai un long script qui tente d'insérer des valeurs flottantes avec des citations (ie. '15.6'
) dans flotter les champs à l'aide de T-SQL.
J'ai des raisons de croire que ce script fonctionne dans le son de l'ordinateur du développeur, mais en raison de la citations, il échoue sur mon SQL Server 2008.
Est-il un moyen de configurer mon serveur pour ignorer ces citations lors de la colonne est numérique? Ce serait beaucoup plus facile que d'éditer le script.
Vous devez vous connecter pour publier un commentaire.
Il arrive que la cité valeurs sont automatiquement converties en nombres si nécessaire.
Je n'ai pas arrivé à moi avant parce que mon ordinateur a été configuré avec un séparateur décimal différent que les développeurs de la machine.
Maintenant que j'ai changé les paramètres Régionaux dans le panneau de contrôle, tout fonctionne.
Non, les guillemets signifie qu'elle n'est pas numérique: il faudrait modifier le script.
Comment SQL Server sais que vous vraiment dire float?
Je doute aussi qu'il fonctionne sur une autre instance de SQL Server trop.
declare @x float; set @x = '15.6'; select @x
Je voudrais suggérer que vous vérifiez d'abord la révision de niveaux entre les deux serveurs sql. La suite a très bien fonctionné sur deux, j'ai essayé les versions 10.0.2746 et 10.0.1600
Comme gbn dit, SQL Server voit quoi que ce soit dans des guillemets simples, comme une chaîne de caractères.
Une alternative (ce qui sera toujours impliquer la modification du script, mais il peut être plus facile que d'enlever les guillemets) serait d'effectuer un cast sur elle:
CAST('12.5' AS FLOAT)
...sera de retour d'une valeur flottante que vous pouvez utiliser comme vous le souhaitez.