В SQL Server у меня есть таблица с именем: CustomerAddr
и строка с именем: Stnumber
. У меня есть нецелые значения, которые я хочу удалить. Я хотел бы удалить строки нецелых значений. Я использую этот запрос, который показывает результаты нецелых значений:SQL Server: удаление нескольких строк на основе результата результата
Select * From [CustomerAddr] [Stnumber] Where ISNUMERIC ([Stnumber]) = 0
Результаты показывают, 400 строк, а не в последовательном порядке. Как я могу удалить по результатам, любая помощь будет отличной.
Я использую этот запрос:
Удалить из CustomerAddr WHERE ISNUMERIC StNumber = '0';
, когда я использую удаление и ISNUMERIC перед тем STnumber я получаю сообщение: «Выражение Non-логического типа, указанный в условиях, когда состояние, как ожидается, около„Stnumber“
лучше читать http://msdn.microsoft.com/en-us/library/ms189835.aspx – HaveNoDisplayName
Просто замените 'Select *' на 'DELETE'. – dario
FYI 'ISNUMERIC' возвращает значение true, если значение может быть преобразовано в числовой тип данных. Это включает в себя реальные, плавающие, деньги. По этой причине допускаются не-числовые символы, такие как ''+', '-', 'd', 'e', '$', '£''. Поэтому просто будьте осторожны при использовании 'Isnumeric' –