Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何检测空字段?_Sql_Sql Server 2008_String - Fatal编程技术网

Sql 如何检测空字段?

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

我有一个列(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,'.',''),'''',''),'"',''),',','')
            )
        )='' 

我已经写过了,那篇专栏文章中的“好”数据是什么?我有一个函数,基本上可以从字符串中删除所有空格和奇怪的字符,这可能会对您有所帮助,但取决于您想要保留的数据。您尝试过的空白字段为空??我想留下带有可见文本的字段;不是空间或新行@苏拉杰:是的,我也试过,但有时不同的条目会像输入空间输入空间。。。。继续,您可以使用相同的结果删除ltrim和rtrim