我有一个列 (nvarchar),其中包含一些无意义的数据,我正在尝试进行清理。我想要做的是删除所有空白字段,并且只有带有文本或数字的字段。到目前为止我尝试了什么:
DELETE FROM myTable WHERE col='' OR col=' ' OR LEN(col)=0 OR LTRIM(RTRIM(col))=''
但是,仍然有一些空白字段。其中一些是这样的(不包括单引号和逗号,我写它们是为了显示它们的开始和结束位置)
' ' , ' ', '
', '
'
我有一个列 (nvarchar),其中包含一些无意义的数据,我正在尝试进行清理。我想要做的是删除所有空白字段,并且只有带有文本或数字的字段。到目前为止我尝试了什么:
DELETE FROM myTable WHERE col='' OR col=' ' OR LEN(col)=0 OR LTRIM(RTRIM(col))=''
但是,仍然有一些空白字段。其中一些是这样的(不包括单引号和逗号,我写它们是为了显示它们的开始和结束位置)
' ' , ' ', '
', '
'
这将完全一样:
DELETE
FROM myTable
WHERE col=''
如果您仍然有行,那是因为您还有其他看起来不像换行符的字符
这将删除文本中没有字母数字字符的所有行
DELETE
FROM myTable
WHERE col not like '%[0-9a-zA-Z]%'
您可以添加更多字符。例子:
[0-9a-zA-Z,'']
<--- 在不应删除的行中添加引号和逗号
您可以用空白替换多余的符号,然后从左右修剪,如果它们是 = '' 然后像这样删除:
DELETE FROM myTable
WHERE LEN(col)=0
OR
LTRIM(
RTRIM(
REPLACE(REPLACE(REPLACE(REPLACE(col,'.',''),'''',''),'"',''),',','')
)
)=''