基本表:
Someid | SomeName
_______________________________
1 | Name -,#
2 | Something else ,-'
期望输出,最好是在视图中:
SomeName的别名= SomeAlias
SomeAlias
________________
name
somethingelse
所以我的问题是如何创建一个删除所有时髦字符和空格(不是数字)的视图,并将所有内容更改为小写。
我不想以任何方式改变SomeName列或条目。
我正在使用SQL Server 2014
修改
为了任何伪代码:
基准表=
SomeTable
输出表=
SomeView
答案 0 :(得分:2)
您可以创建如下所示的功能
USE DBName;
GO
Create Function [dbo].[RemoveNonAlphaNumericCharacters](@Temp VarChar(1000))
Returns VarChar(1000)
AS
Begin
Declare @KeepValues as varchar(50)
Set @KeepValues = '%[^a-z0-9]%'
Set @Temp = LOWER(@Temp)
While PatIndex(@KeepValues, @Temp) > 0
Set @Temp = Stuff(@Temp, PatIndex(@KeepValues, @Temp), 1, '')
Return @Temp
End
您可以在创建视图时使用该功能
USE DBName;
GO
CREATE VIEW SomeView
AS
SELECT SomeID, [dbo].[RemoveNonAlphaNumericCharacters](SomeName) as SomeAlias
FROM SomeTable ;
GO
-- Query the view
SELECT *
FROM SomeView;
答案 1 :(得分:1)
有一些方法可以让它像REPLACE字符串一样,让FUNCTION替换字符串,我们也可以使用正则表达式
-
HashMap<String, String> paramMap = new HashMap<>();
paramMap.put("user_id", user_id);
paramMap.put("latitude","10");
paramMap.put("longitude","70");
RequestParams params = new RequestParams(paramMap);
try {
params.put("image", user_image);
} catch (FileNotFoundException e) {
Log.d("FNF", ":->" + e.toString());
}
AsyncHttpClient client = new AsyncHttpClient();
client.post(url,params,ResponseHandler(){
//Overridden Methods
}
);