如何删除特定列中2个字符或更少字符的行?

时间:2019-03-30 20:54:54

标签: sql oracle sql-delete

我正在清理数据库表,以便可以为自己的课程建立数据仓库,但是首先我需要确保数据的质量。

很多名称条目只有一个字母。我想用一个脚本删除那些行。

Some of the name entries

3 个答案:

答案 0 :(得分:2)

Delete from @your_table
Where length(@your_name_column)=1

这将删除所有名称长度为1个字符的行

答案 1 :(得分:2)

您可以使用函数length()来获取name列中的字符数

delete from tablename
where length(trim(name)) < 2

在这种情况下,功能trim()也可能有用。

答案 2 :(得分:1)

这尚未经过测试,但是REGEXP_LIKE对于此类事情可能非常有用。

delete from your_table 
where  regexp_like (column, '[A-Z]|[a-z]')