Sql 如何在字符串中找到字符串“NULL”?
我希望找到字符串NULL或NULL,除非下一个字母是O或A,即NULLO和NULLA是ok。到目前为止,我已经提出了以下建议,但并不完全符合我的要求:Sql 如何在字符串中找到字符串“NULL”?,sql,Sql,我希望找到字符串NULL或NULL,除非下一个字母是O或A,即NULLO和NULLA是ok。到目前为止,我已经提出了以下建议,但并不完全符合我的要求: DECLARE @VAR VARCHAR(255) SET @VAR = 'NULL' SELECT @VAR WHERE @VAR LIKE '%NULL[^OA]' 比如: DECLARE @VAR VARCHAR(255) SET @VAR = 'NULL' SELECT @VAR WHERE @VAR LIKE '%NULL%' AND
DECLARE @VAR VARCHAR(255)
SET @VAR = 'NULL'
SELECT @VAR WHERE @VAR LIKE '%NULL[^OA]'
比如:
DECLARE @VAR VARCHAR(255)
SET @VAR = 'NULL'
SELECT @VAR WHERE @VAR LIKE '%NULL%'
AND @VAR NOT LIKE '%NULL0%'
AND @VAR NOT LIKE '%NULLA%'
比如:
DECLARE @VAR VARCHAR(255)
SET @VAR = 'NULL'
SELECT @VAR WHERE @VAR LIKE '%NULL%'
AND @VAR NOT LIKE '%NULL0%'
AND @VAR NOT LIKE '%NULLA%'
我会选择:
REPLACE(REPLACE(@VAR,'NULLA',''),'NULLO','') LIKE '%NULL%'
我会选择:
REPLACE(REPLACE(@VAR,'NULLA',''),'NULLO','') LIKE '%NULL%'
您可以使用CHARINDEX
或
您可以使用CHARINDEX
或
这似乎对我起了作用: 从nulls_表中选择*,其中null_字段与'null[OA]%不同 我用以下值创建了一个表:
ANULL
ONULL
NULLA
NULLO
ANULLA
NULL
NULLOXXX
然后选择返回
ANULL
ONULL
ANULLA
NULL
它消除了NULLA、NULLO和NULLOXXX,这似乎是OP想要的
查找字符串NULL或由任何字符包围的NULL,除非下一个字母是O或A这似乎为我解决了问题: 从nulls_表中选择*,其中null_字段与'null[OA]%不同 我用以下值创建了一个表:
ANULL
ONULL
NULLA
NULLO
ANULLA
NULL
NULLOXXX
然后选择返回
ANULL
ONULL
ANULLA
NULL
它消除了NULLA、NULLO和NULLOXXX,这似乎是OP想要的
查找由任何字符包围的字符串NULL或NULL(下一个字母为O或A时除外)请显示所需的输入和输出?请显示所需的输入和输出?但如果有NULLOXXX,它将返回XXX。这是预期的吗?@Diego:LIKE表达式不返回字符串,它是一个测试,因此它返回SQL布尔值true、false或null。这里像“%NULL%”一样的“xxx”将返回false,这是OP期望IMO的结果。但是如果您有NULLOXXX,它将返回xxx。这是预期的吗?@Diego:LIKE表达式不返回字符串,它是一个测试,因此它返回SQL布尔值true、false或null。这里像“%NULL%”这样的“xxx”将返回false,这是OP期望的结果。