2009-10-29 7 views
0

Utilisation de SQL Server 2005Comment filtrer les colonnes?

Je veux filtrer la colonne où la valeur de la colonne ne correspond pas à numérique

Tableau 1

Status 

010203 
Absent 
231415 
Ramesh 
Suresh 

..., 

Je veux que les noms de la colonne d'état comme

Essayé requête

Select Status from table1 where status <> 'absent' and status <> numecivalue 

Comment mentionné le statut <> NumericValue

de sortie

Table 

Status 

Ramesh 
Suresh 
..., 

attendu Besoin d'aide de requêtes.

Répondre

2

Utilisation:

SELECT t.status 
    FROM table1 t 
WHERE t.status != 'absent' 
    AND ISNUMERIC(t.status) != 1 

Référence: ISNUMERIC

0
SELECT 
    status 
FROM 
    table1 
WHERE 
    status <> 'absent' AND 
    ISNUMERIC(status) <> 1 
0

Jetez un oeil à ce weblos ..............

http://weblogs.sqlteam.com/mladenp/archive/2007/10/18/SQL-Server-Filtering-Numeric-data-from-a-character-based-column.aspx

CREATE FUNCTION dbo.IsNumericEx(@value nvarchar(max)) 
RETURNS BIT 
AS 
BEGIN 
     DECLARE @isInt BIT 

     SELECT @isInt = 1 
     WHERE @value NOT LIKE '%[^0-9.-]%' 
       AND LEN(REPLACE(@value, '.', '')) >= LEN(@value) - 1 
       AND CHARINDEX('-', @value) IN (0, 1) 
       AND CHARINDEX('-', @value, 2) = 0 

     RETURN ISNULL(@isInt, 0) 
END 
GO 

DECLARE @t1 TABLE (title varchar(20)) 
INSERT INTO @t1 
SELECT '123d456' UNION ALL 
SELECT '12 3456' UNION ALL 
SELECT '123456' UNION ALL 
SELECT '1234-56' UNION ALL 
SELECT '123456-' UNION ALL 
SELECT '-123456' UNION ALL 
SELECT '-123-456' UNION ALL 
SELECT 'dddfaf56' UNION ALL 
SELECT '5532.673' UNION ALL 
SELECT '5532673.' UNION ALL 
SELECT '.5532.673' 

SELECT * 
FROM  @t1 
WHERE dbo.IsNumericEx(title) = 0 

SELECT * 
FROM  @t1 
WHERE dbo.IsNumericEx(title) = 1 

GO 
DROP FUNCTION dbo.IsNumericEx 
+1

Si vous postez code, que ce soit T-SQL ou autre, S'IL VOUS PLAÎT utiliser le bouton de code (010 101) dans la barre d'outils de l'éditeur pour les mettre en forme sous forme de code, de sorte qu'ils soient bien lisibles et auront la syntaxe a souligné! –

Questions connexes