Sql 如何检测空字段?
我有一个列(nvarchar),其中有一些无意义的数据,我正在尝试进行清理。我想做的是删除所有空白字段,并且只有文本或数字字段。到目前为止,我尝试的是:Sql 如何检测空字段?,sql,sql-server-2008,string,Sql,Sql Server 2008,String,我有一个列(nvarchar),其中有一些无意义的数据,我正在尝试进行清理。我想做的是删除所有空白字段,并且只有文本或数字字段。到目前为止,我尝试的是: DELETE FROM myTable WHERE col='' OR col=' ' OR LEN(col)=0 OR LTRIM(RTRIM(col))='' 但是,仍有一些空白字段。其中一些是这样的(不包括单引号和逗号,我写它们是为了显示它们的起点和终点) “,” ", “这将完全相同: DELETE FROM myTable WH
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,'.',''),'''',''),'"',''),',','')
)
)=''
我已经写过了,那篇专栏文章中的“好”数据是什么?我有一个函数,基本上可以从字符串中删除所有空格和奇怪的字符,这可能会对您有所帮助,但取决于您想要保留的数据。您尝试过的空白字段为空??我想留下带有可见文本的字段;不是空间或新行@苏拉杰:是的,我也试过,但有时不同的条目会像输入空间输入空间。。。。继续,您可以使用相同的结果删除ltrim和rtrim