惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
H
Help Net Security
The Cloudflare Blog
Y
Y Combinator Blog
A
Arctic Wolf
Cyberwarzone
Cyberwarzone
G
Google Developers Blog
Recent Announcements
Recent Announcements
S
SegmentFault 最新的问题
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
博客园 - Franky
罗磊的独立博客
Martin Fowler
Martin Fowler
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - 三生石上(FineUI控件)
N
News and Events Feed by Topic
F
Fortinet All Blogs
N
News | PayPal Newsroom
J
Java Code Geeks
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
Google Online Security Blog
Google Online Security Blog
Recorded Future
Recorded Future
博客园 - 聂微东
S
Securelist
C
CERT Recently Published Vulnerability Notes
小众软件
小众软件
Cisco Talos Blog
Cisco Talos Blog
S
Security Affairs
NISL@THU
NISL@THU
A
About on SuperTechFans
PCI Perspectives
PCI Perspectives
N
News and Events Feed by Topic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Jina AI
Jina AI
Microsoft Azure Blog
Microsoft Azure Blog
AWS News Blog
AWS News Blog
GbyAI
GbyAI
C
Cyber Attacks, Cyber Crime and Cyber Security
V
Vulnerabilities – Threatpost
D
Docker
P
Proofpoint News Feed
W
WeLiveSecurity
Help Net Security
Help Net Security
The GitHub Blog
The GitHub Blog
The Last Watchdog
The Last Watchdog
The Hacker News
The Hacker News
博客园 - 叶小钗

博客园 - 冯小磊

女人的面相 只有mdf文件的恢复技术 冒泡,选择,插入,希尔 vb.net c#.net 代码相互转换 [转]C# 参考之转换关键字:operator、explicit与implicit 【转载】SQL查询中区分大小写的方法 Dev里面DataGid控件使用方法之一 对于sql数据库中重复的记录... (word导出问题)解决:服务器出现意外情况。 (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT))的解决方法 白骨精写给孙悟空的绝世情书 DBCC CHECKDB (检查指定数据库中的所有对象的分配和结构完整性) c# 限制窗体 sqlserver附加数据库错误823的解决方案 改变DevExpress控件的字体 按某一字段分组取最大(小)值所在行的数据 mssql1069错误(由于登录失败而无法启动服务)解决方法 C# 判断中文字符(字符串) 函数datediff 用SqlCommandBuilder 实现批量更新
MSSQL中取字符中的汉字或双字节字符
冯小磊 · 2008-04-07 · via 博客园 - 冯小磊

1.SQL中截取中文字符("吖-咗"这个区间几乎能包括所有的汉字)

--A.
create function get_china(@s varchar(50))
returns varchar(50)
as
begin
declare @i int
set @i=1
while patindex('%[^吖-咗]%',@s> 0 and @i<=len(@s)
begin
if substring(@s,@i,1not like '%[吖-咗]%'
set @s=stuff(@s,@i,1,'')
else
set @i=@i+1
end
return @s
end

select dbo.get_china('但是111中国aaa人test我***是啊kao多多うェ')
drop function dbo.get_china


--B.
create function getnewstr
(
@oldstr varchar(100))
returns varchar(100)
as
begin
declare @i int
set @i = 1
while @i <= len(@oldstr)
if substring(@oldstr@i1like('[^吖-座]')
set @oldstr = replace(@oldstrsubstring(@oldstr@i1), '')
else
set @i = @i +1
return @oldstr
end
go

select result = dbo.getnewstr('但是111中国aaa人test我***是啊kao多多うェ')
drop function dbo.getnewstr

2.字符中无全角,但是还包含双字节字符,比如汉字,日文,汉文

--A.
declare @s varchar(100),@i int,@s2 varchar(100)
set @s='但是111中国aaa人test我***是啊kao多多うェ'
set @i=1
while  @i<=len(@s)
begin
    
if ascII(substring(@s,@i,1)) between 133  and 223
       
set @i=@i+1 
    
else
    
begin
       
set @s = stuff(@s,@i,1,'')
       
set @i = 1
    
end
end
select @s

--B.
DECLARE @s VARCHAR(100),@s1 VARCHAR(100)
SELECT @s='但是111中国aaa人test我***是啊kao多多うェ',@s1=''
WHILE LEN(@s)>0
    
SELECT @s1=CASE WHEN DATALENGTH(RIGHT(@s,1))=2 THEN RIGHT(@s,1ELSE '' END + @s1,@s=LEFT(@s,LEN(@s)-1)
SELECT @s1

--来自CSDN