数据库中某一字段存储数据格式为
hello,中国
cnc中国网通等
如何将此数据中的英文字符与中文分离?
hello,中国
cnc中国网通等
如何将此数据中的英文字符与中文分离?
解决方案 »
- 求高手解决!!!
- mysql 存储过程 如何获得具体异常
- 数据库增加列的问题
- 我数据库设置的是UTF8编码,但页面显示中是动态的charset,即,根据不同语言,可能是gb2312,也可能是utf8,该如何处理??
- 请教,如何有导入*.sql文件.
- 这个创建肚脚本后面的alter table 老出问题,那位高手看一下是什么原因。(在线等)
- 关于postgres数据库ODBC驱动请教!
- 怎么用mysql德函数将这样2002-11-07 03:30:00一个时间格式的转化为时间戳?
- 请问关于数据的使用问题
- MySQL连接不能完全关闭,留下TIME_WAIT的连接
- 求助:关于Mysql 基准套件的使用
- 求一查询语句(在线等)
insert into t select N'cnc中国网通'
go
create function fn_Test(@name nvarchar(50))
returns nvarchar(50)
as
begin
while patindex('%[吖-座]%',@name) > 0
set @name = stuff(@name,patindex('%[吖-座]%',@name),1,N'')
return @name
end
go--如果你表中的数据都满足:左侧是英文,右边是中文 这种格式,可以使用如下SQL查询select
dbo.fn_Test(txt) as 英文部分,
right(txt,len(txt)-len(dbo.fn_Test(txt))) as 中文部分
from tdrop table t
drop function fn_Test
/*--结果hello, 中国
cnc 中国网通
*/
select locate('%[吖-座]%','汉字')
返回零.还是第一参数用的不对.请指教,当前就希望把中文提取出来,或是把中文的ascii代码区找出来.多谢
快来看看,腾迅为庆祝腾讯QQ八周年,现在开放六位 QQ 号码免费申请,数量有限,送完即止,加油吧
READS SQL DATA
BEGIN
declare i int;
declare rtn int;
declare rtn1 int;
declare sec varchar(10);
declare rtnstr varchar(500);
set i=1;
set rtnstr='';
WHILE i <length(nm) DO
set rtn= ascii(substring(nm,i,1));
IF rtn>127 THEN
set rtn1= ascii(right(substring(nm,i,2),1));
IF rtn1> 127 THEN
set sec=char(rtn,rtn1);
ELSE
set sec='';#concat(char(rtn),char(rtn1));
END IF;
SET i = i + 1;
ELSE
set sec='';#char(rtn);
END IF;
set rtnstr=concat(rtnstr,sec);
SET i = i + 1;
END WHILE;
RETURN rtnstr;
END$$DELIMITER ;