sql语句中怎么识别字符串中的中文逗号的有关问题
sql语句中如何识别字符串中的中文逗号的问题
如题所述,网页上以标题字段进行查找时(如选择了3个标题,各标题间以英文逗号分隔),注意红色部分是一个标题(含有中文逗号)
如: e租宝,爱国旋律,生生不息,北京华医皮肤
在sql语句中处理时会把每个标题都加上单引号,以便在sql语句中查询。如:
结果是:
它把标题“爱国旋律,生生不息”中的中文逗号也当成英文逗号进行了处理。
而我想要的是只对英文逗号进行处理,预期结果如下:
这样才能保证后面查询时 Name in ( ' + @adName + ' ) 时查询到正确的结果。
查了网上的一些资料没有找到合适的解决办法,求指点
------解决思路----------------------
如题所述,网页上以标题字段进行查找时(如选择了3个标题,各标题间以英文逗号分隔),注意红色部分是一个标题(含有中文逗号)
如: e租宝,爱国旋律,生生不息,北京华医皮肤
在sql语句中处理时会把每个标题都加上单引号,以便在sql语句中查询。如:
declare @adName nvarchar(4000),@adNamestr nvarchar(4000)
set @adNamestr='e租宝,爱国旋律,生生不息,北京华医皮肤'
set @adName=''''+REPLACE(REPLACE(@adNamestr,'''',''''''),',',''',''')+''''
select @adName
结果是:
'e租宝','爱国旋律','生生不息','北京华医皮肤'
它把标题“爱国旋律,生生不息”中的中文逗号也当成英文逗号进行了处理。
而我想要的是只对英文逗号进行处理,预期结果如下:
'e租宝','爱国旋律,生生不息','北京华医皮肤'
这样才能保证后面查询时 Name in ( ' + @adName + ' ) 时查询到正确的结果。
查了网上的一些资料没有找到合适的解决办法,求指点
------解决思路----------------------
declare @adName nvarchar(4000),@adNamestr nvarchar(4000)
declare @s varchar(1000)
set @adNamestr='e租宝,爱国旋律,生生不息,北京华医皮肤'
set @adName=''''+REPLACE(REPLACE(@adNamestr,'''',''''''),',',''',''')+''''
set @s = REPLACE(@adNamestr collate CHINESE_PRC_CI_AS_WS, ',',''',''')
select @adName
select @s
----------------------------------------------
'e租宝','爱国旋律','生生不息','北京华医皮肤'
(1 行受影响)
----------------------------------------------
e租宝','爱国旋律,生生不息','北京华医皮肤
(1 行受影响)