SQL Server 2008 - У меня есть таблица с 10 столбцами и многими строками, в которых я хочу удалить с условием, например, удалить все строки, которые в частности колонке те менее 75 символов (около 10 слов)Как удалить строки, содержащие менее 75 символов (около 10 слов) в определенном столбце
ответ
Самым простым решением является использование функции SQL под названием len
используется следующим образом: len(nameOffield)
В вашем случае просто добавить функцию к вам, где положение в команду удаления, как это:
DELETE FROM yourTableName where len(aParticularColumn) < 75
Update, чтобы ответить: если ваш aParticularColumn
имеет тип данных text
или ntext
вы можете использовать DATALENGTH вместо LEN. В этом случае было бы
DELETE FROM yourTableName where DATALENGTH(aParticularColumn) < 75
Его работа для регулярного поля, но НЕ для поля типа данных «ntext», пожалуйста, сообщите. Спасибо – user3731090
Рекомендуем вам перейти от 'ntext': См. Здесь: http: // stackoverflow.com/questions/17738662/what-is-difference-between-ntext-and-varchar-in-sql-server-2008-r2 – logixologist
Невозможно изменить из «ntext», нет разрешений и не может изменять разрешения, любую идею? – user3731090
Для достижения этой цели вы можете использовать ниже подход - выполните действия, как уже упоминалось
- Создать
temp table
так же, как вашMAIN TABLE
ИInsert
все записи вtemp table
You can use INSERT INTO SELECT Statement
для достижения первого шага - При вставке вы укажете имена и значения столбцов - используйте
CAST(varchar(75), [columnname])
, который усекает данные более 75 символов. - Тогда вы можете
truncate
ваш главный стол иinsert
все записи отtemp table
до основного стола.
Спасибо, так как я с не программист, я был бы признателен, если вам мог написать весь код, чтобы я мог копировать и вставлять. Еще раз спасибо. – user3731090
Копия и вставка Lolllzlzzzz Я дам вам свой номер банковского счета, пожалуйста, переведите сумму часов работы ..;) – Murtaza
Как @ogixologist сказал ...
DELETE FROM table_name where len (column_name) < 75
И здесь я сделал с помощью CTE проверить его !!!!!!!!!
;with cte
as
(
SELECT column_name, temp = LEN (CAST (column_name As nvarchar(4000))) from table_name
)
delete from cte where temp<=75;
- Вы можете привести к NVARCHAR, прежде чем найти длину или же просто использовать
Len(column_name)
- вместо column_name заменить NVARCHAR имя столбца в зависимости от того вы хотите
- вместо table_name заменить имя таблицы, в которой ваши данные проживает
@logixologist - Я абсолютно прав и просто сделан слишком ..... пожалею, что я отвечаю ... ... с тех пор, как я изучаю CTE всего за несколько дней назад, мой разум думает об этом ......... – CIPHER
есть высказывание в программировании: существует множество способов кожи кошки .... если вы достигаете правильного результата, так как ответ правильный. Мне еще нужно играть с CTE;) – logixologist
- 1. Как удалить строки, содержащие строку в определенном столбце
- 2. Как удалить строки длиной менее 3 слов?
- 3. Исключить строки, содержащие NA в определенном столбце в подмножествах
- 4. Линейные строки, содержащие строку в определенном столбце в новом файле
- 5. Как удалить все строки, содержащие менее двух/в BASH?
- 6. Найдите только строки, содержащие «NaN» в определенном столбце?
- 7. Как удалить строки, содержащие NaN в определенном столбце из таблицы в Matlab?
- 8. Удалить строки менее 3 слов в текстовом файле
- 9. Awk для удаления символов с начала строки в определенном столбце
- 10. Как обрезать файл по количеству символов в определенном столбце
- 11. Как разбить строку Javascript на предложения, содержащие менее 140 символов?
- 12. Регулярное выражение для не менее 10 символов
- 13. Sqlite: как удалить строки, содержащие нулевые/пустые строки
- 14. Удалить строки, содержащие данные
- 15. Удалить строки с количеством символов менее 0 Символы
- 16. Удалить строки ячейки на основе значения в определенном столбце
- 17. .txt удалить строки, содержащие
- 18. Как удалить группы, содержащие менее 3 строк данных в R?
- 19. Как удалить все строки, содержащие более трех символов во втором столбце файла CSV?
- 20. Как удалить слова, содержащие менее 3-х символов из базы данных
- 21. strip первые 75 символов строки и слова поддержки
- 22. Поиск ключевых слов (из матрицы) в строке (около 500 символов)
- 23. Как удалить строки, содержащие строку?
- 24. удалить строки, содержащие строку
- 25. Удалить строки, содержащие две строки
- 26. Как удалить строки, содержащие похожие дубликаты?
- 27. Как удалить строки, содержащие буквы из списка?
- 28. Как получить все строки, содержащие данные в определенном столбце в Excel с C#
- 29. удалить последние 10 символов файла
- 30. Извлечение строк на основе списка целевых слов в определенном столбце
Почему вы не могли бы сделать простой DELETE FROM имя_таблицы, где LEN (columname) <75 – logixologist