trim()用于清除所有空格。现在,我想用“'用户名”中的所有特殊字符,而不是清除空白区域。是否有像trim()这样的函数来消除特殊字符? 我的SQL查询就像
Select value from table_name where trim(username) = 'ABCD'
并返回null值。但是有一些与ABCD'相关的价值观。并在执行查询时显示所有条目
select value from table_name where username like '%ABCD%'
用户名'中没有任何其他内容可见。领域。对此有什么解决方案吗?
答案 0 :(得分:2)
Mysql没有这种功能来删除特殊字符。相反,您可以使用替换功能(如果您知道什么是特殊字符)。
replace(your filed name,'_','')
答案 1 :(得分:1)
参见示例:
Select value from table_name where REPLACE(trim(username$),"$","");
如果你想用空的char替换$
答案 2 :(得分:0)
尝试此功能:
Create Function [dbo].[RemoveNonAlphaCharacters](@Temp VarChar(1000))
Returns VarChar(1000)
AS
Begin
Declare @KeepValues as varchar(50)
Set @KeepValues = '%[^a-z]%'
While PatIndex(@KeepValues, @Temp) > 0
Set @Temp = Stuff(@Temp, PatIndex(@KeepValues, @Temp), 1, '')
Return @Temp
End
这样称呼:
Select dbo.RemoveNonAlphaCharacters('abc1234def5678ghi90jkl')
一旦理解了代码,就应该看到更改代码以删除其他字符也相对简单。你甚至可以使这种动态足以传递你的搜索模式。