J'ai hérité d'une table dans une opération de troisième partie contenant à la fois des chaînes et des intenses - je veux diviser la table, mais je veux connaître le moyen le plus rapide de déterminer si la valeur est une intensive? La colonne est Varchar (250)
e.g. Save 123456 Edit Save 123455 Delete 123444
3 Réponses :
Je suggérerais d'utiliser si vous préférez la syntaxe , vous avez aussi try_convert code>, qui retournera null code> si la valeur ne peut pas être convertie: try_cast code> ( try_cast (YourColumn comme int) code>). p> p>
Haha semble que nous avons de nouveau posté la même chose.
@Seanlange So's Les notifications push sont gonflées. Je ne vois pas toujours une autre réponse affichée avant le fait.
@Timbiegeleisen je sais ce que tu veux dire. Là nous n'avons aucune réponse affichée lorsque j'ai cliqué sur Soumettre, mais ensuite, il y en avait deux autres. :)
Fait intéressant, j'ai vu Tim très vite, mais je n'ai même pas vu Sean après avoir reçu la notification de commentaire. J'ai dû f5.
Une approche serait d'utiliser l'opérateur code> SQL Server's amélioré de Server: code>
SELECT col FROM yourTable WHERE col NOT LIKE '%[^0-9]%';
J'utiliserais try_convert .
declare @Something table(SomeVal varchar(50))
insert @Something values
('Save')
, ('123456')
, ('Edit')
, ('Save')
, ('123455')
, ('Delete')
, ('123444')
select *
from @Something s
where TRY_CONVERT(int, s.SomeVal) is not null
@Taballeman, je suggérerais que c'est une duplication médiocre. La plupart de ces réponses recommandent l'utilisation de
isnumeric code>, qui est une fonction affreuse en vérité (priseSélectionnez cas lorsque ISnumeric ('1.1') = 1 puis convertir (int, '1.1') ; code> par exemple).try_convert code> est une option beaucoup meilleure que celles mentionnées là-bas.Je sais que beaucoup de réponses sur cette question sont pour la fonctionnalité de 2008, mais il y a une réponse qui mentionne à l'aide de try_convert () avec 2012+. Il me semble que la chose à faire est d'ajouter des upvotes à cette réponse dans la question en double, plutôt que d'ajouter ce duplicata au site, ce qui ne contribue rien de nouveau dans la question elle-même.