Как выбрать числовое значение из столбца nvarchar в SQL Server? - PullRequest
0 голосов
/ 24 июня 2011

У меня есть таблица типа

Create table Producttbl ( sno nvarchar(100),sname nvarchar(200),price nvarchar(100))

Значения

sno    sname price
1       aaa   1.50
2       ccc   5.30 
abc     xxx   abc
3       dsd   kkk 
nn      dss   5.1 

Столбец цены nvarchar принимает все виды данных, такие как строки или числа.

Из этой таблицы я хочу выбрать такие результаты:

   sno        sname  price
    1           aaa   1.50
    2           ccc   5.30

Пожалуйста, помогите мне.

Ответы [ 2 ]

2 голосов
/ 24 июня 2011

Вы пробовали использовать числовую функцию?

SELECT sno,sname
FROM ProductTbl
WHERE ISNUMERIC(sno)=1

Вы должны прочитать документацию isnumeric , чтобы убедиться, что она возвращает ожидаемые результаты. (см. комментарии ниже).

2 голосов
/ 24 июня 2011

Предположительно, вам нужны sno значения, которые состоят из цифр и только цифр (в противном случае вам нужно указать, какие «числовые» типы вы хотите принять):

select * from ProductTbl where sno not like '%[^0-9]%'

Мы используем двойную отрицательную проверку, чтобы исключить sno значения, содержащие нецифровый символ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...