Di SQL Server, kita dapat menggunakan ISNUMERIC()
berfungsi untuk mengembalikan nilai numerik dari kolom.
Sebagai alternatif, kami dapat menjalankan kueri terpisah untuk mengembalikan semua nilai yang berisi data numerik.
Contoh Data
Misalkan kita membuat tabel dengan varchar
kolom, dan masukkan data sebagai berikut:
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
c1 varchar(255)
);
INSERT INTO t1 (c1) VALUES
('0'),
('1'),
('+1'),
('-1'),
('+1'),
('00.00'),
('73.45'),
('+73.45'),
('-73.45'),
('.246'),
('-.34e7'),
('12.e-3'),
('1.2e+4'),
('a'),
('9afc'),
('e7'),
('+e0'),
('Ten'),
('5 Dollars');
SELECT * FROM t1;
Hasil:
+-----------+ | c1 | |-----------| | 0 | | 1 | | +1 | | -1 | | +1 | | 00.00 | | 73.45 | | +73.45 | | -73.45 | | .246 | | -.34e7 | | 12.e-3 | | 1.2e+4 | | a | | 9afc | | e7 | | +e0 | | Ten | | 5 Dollars | +-----------+
Karena ini adalah varchar
kolom, berisi data karakter. Ini dapat berisi data numerik, tetapi tidak disimpan sebagai tipe numerik. Oleh karena itu, kolom dapat berisi data tekstual dan numerik. Contoh berikut memeriksa kolom ini untuk nilai numerik.
ISNUMERIC()
Fungsi
SELECT c1
FROM t1
WHERE ISNUMERIC(c1) = 1;
Hasil:
+--------+ | c1 | |--------| | 0 | | 1 | | +1 | | -1 | | +1 | | 00.00 | | 73.45 | | +73.45 | | -73.45 | | .246 | | -.34e7 | | 12.e-3 | | 1.2e+4 | +--------+
Di sini, saya menggunakan ISNUMERIC()
fungsi bersama dengan Equal To (=
) operator untuk mengembalikan nilai numerik. Fungsi mengembalikan 1
ketika itu numerik dan 0
padahal tidak.
Menemukan Nilai yang Mengandung Angka
Kita dapat menggunakan kueri berikut untuk mengembalikan semua baris yang berisi nilai numerik (meskipun juga berisi karakter lain).
SELECT c1
FROM t1
WHERE c1 LIKE '%[0-9]%';
Hasil:
+-----------+ | c1 | |-----------| | 0 | | 1 | | +1 | | -1 | | +1 | | 00.00 | | 73.45 | | +73.45 | | -73.45 | | .246 | | -.34e7 | | 12.e-3 | | 1.2e+4 | | 9afc | | e7 | | +e0 | | 5 Dollars | +-----------+
Ini adalah hasil yang berbeda dari contoh sebelumnya, karena kami hanya mencari semua nilai yang berisi data numerik apa pun. Pada contoh sebelumnya, kami sedang mencari nilai-nilai yang numerik.