中易网

我有一个Sqlite3表字段内容是汉字+英文,我如何用SQL语句分成两个字段

答案:1  悬赏:30  
解决时间 2021-12-11 22:33
有一个表,字段内容是汉字+英文, 如“创世纪Genisis” ,我想把这个字段分成两个字段存储,一个存汉字,一个存英文。
我用sqlite3 dbbuilder 如何写SQL 来作这事 ?找了半天没找到相关函数, 请教大侠。
最佳答案
create table t
(
id int,
sqlite varchar(2000)
)
insert into t(id ,sqlite ) values (1,'你好SQL');
insert into t(id ,sqlite ) values (2,'再见地球');
insert into t(id ,sqlite ) values (3,'创世纪Genisis');
insert into t(id ,sqlite ) values (4,'SELECt语句');
insert into t(id ,sqlite ) values (5,'SELECT');

CREATE  FUNCTION [dbo].[fz]
(
@s varchar(2000) =''
)
returns varchar(2000)
as
begin

 if ascii(@s) is null
 return ''
 IF ascii(left(@s,1))>123
begin
declare @i int
set @i = 1
declare @ss varchar(100)
set @ss =SUBSTRING (@s,@i,1) 
while (ASCII (@ss)>123)
begin
set @i=@i+1
set @ss=SUBSTRING (@s,@i,1)

end
return  substring(@s,1,@i-1)

end 
 IF ascii(left(@s,1))<=123 and ascii(left(@s,1))>0
  BEGIN

declare @j int
set @j = 1
declare @sa varchar(1000)
set @sa =SUBSTRING (@s,@j,1) 
while (ASCII (@sa)<=123)
begin
set @j=@j+1
set @sa=SUBSTRING (@s,@j,1)
end
return substring(@s,1,@j-1)
 end
return @s
end
go


select ID,sqlite,dbo.fz(sqlite) as 汉字部分,REPLACE (sqlite,dbo.fz(sqlite),'') 英文部分 from t
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
刚来深圳这边、去网吧用身份证注册了、但过几
小船上放置某物体漂浮在水面上。现将某物体放
讪上的意思是什么啊?请解释下!
英雄联盟深渊巨口,怎么出装一秒十喷,打人疼
贞端的意思是什么?贞端的释义是什么啊?
一叶扁舟心向远=求下联
湖北省十堰市竹山县上庸镇吉鱼村三组章玲丽是
宝马2系dvd怎么安装
哪些情况下彩礼不予返还不返还彩礼的5种情况
圣母的意思是什么?圣母的释义是什么啊?
东宛的意思是什么啊?请解释下!
汽修学徒能学到技术吗
昆明市呈贡区天水嘉园在什么街道上
草架的意思是什么?草架的释义是什么啊?
残疾人交友网
推荐资讯
铝基板生产过程板皮板板边脱胶是怎么回事
怎样让eclipse运行的快一点。
尧都区路东营业厅地址在什么地方,想过去办事
北京市森林消防总队密云大队地址在什么地方,
人潮的意思是什么?人潮的释义是什么啊?
达尔文的成就有什么?
请问这世上真的有人开后宫吗?
高中生用学生证能否免费参观西安交大
怨氣的意思是什么?怨氣的释义是什么啊?
运河工商所地址有知道的么?有点事想过去!
武陵源区张家界不夜城超市地址在哪里啊
太平桥西里社区居委会地址有知道的么?有点事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?