当前位置:首页 » 编程语言 » sql全角字符

sql全角字符

发布时间: 2025-08-26 21:43:58

‘壹’ sql语句怎么判断一个字符是全角还是半角

selectunicode('s')
/*返回值为65281~65374,则是全角,33~126为半角*/
/*下面为全角与半角的转换函数*/

ifobject_id(N'u_convert',N'FN')isnotnull
dropfunctionu_convert
GO
/*
转换原理
全角字符unicode编码从65281~65374
半角字符unicode编码从33~126
空格比较特殊,全角为12288,半角为32
而且除空格外,全角/半角按unicode编码排序在顺序上是对应的
所以可以直接通过用+-法来处理非空格数据,对空格单独处理
like的时候,指定排序规则COLLATELatin1_General_BIN
是保证字符顺序按unicode编码排序

*/
createfunctionu_convert(
@strnvarchar(4000),--要转换的字符串
@flagbit--转换标志,0转换成半角,1转换成全角
)
returnsnvarchar(4000)
AS
begin
declare
@patnvarchar(8),
@stepint,
@iint,
@spcint
if@flag=0
begin
select@pat=N'%[!-~]%',@step=-65248,
@str=replace(@str,N'',N'')
end
else
begin
select@pat=N'%[!-~]%',@step=65248,
@str=replace(@str,N'',N'')
end
set@i=patindex(@patcollateLATIN1_GENERAL_BIN,@str)
while@i>0
select@str=replace(@str,
substring(
@str,@i,1),
nchar(unicode(substring(@str,@i,1))+@step)),
@i=patindex(@patcollateLATIN1_GENERAL_BIN,@str)
return(@str)
end
GO

测试语句:
selectdbo.u_convert('11',1)as[a],'11'as[b],dbo.u_convert('111',0)as[c]

‘贰’ sql数据库Text类型字段导出oracle数据时乱码怎么解决

如果所有导出的全角字符都是乱码的话,应该是字符集编码格式不同引起的。需要注意的是要保证导出和导入时的字符集是统一的,或是子集与超集的关系。

‘叁’ sql里面的空格区分全角和半角么

有区分的,有时切换到全角输入时,字体间的间距会明显变大,但不影响运行,只是不美观而已。

‘肆’ sql数据库中把字段数据中半角括号修改为全角括号

使用replace函数:

函数语法:replace(列名称,'被替换的字符','替换的字符')


updatetablea=replace(a,'(','(')--把表tablea列的半角括号修改为全角括号
热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:585
制作脚本网站 发布:2025-10-20 08:17:34 浏览:881
python中的init方法 发布:2025-10-20 08:17:33 浏览:574
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:761
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:677
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1005
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:249
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:108
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:799
python股票数据获取 发布:2025-10-20 07:39:44 浏览:705