在 SQL Server 中将 unicode 字符串转换为 ascii
- 作者: 直插主题
- 来源: 51数据库
- 2022-12-13
问题描述
如何将字符串'????' 转换为'1394'?
我尝试更改排序规则但不起作用.
请注意,我在 C# 中从外部设备读取数据.
解决方案
我在网上搜索后尝试解决这个问题我得出的结论是解决这个问题的最好方法是函数
ALTER FUNCTION [dbo].[udf_ReplaceArabicNumbers](@str NVARCHAR(1000))回报 NVARCHAR(2000)作为开始声明@i INT = 1而@i<=LEN(@str)开始声明@val NVARCHAR(1)SET @val = SUBSTRING(@str, @i, 1)声明@newchar NVARCHAR(1)SET @newchar = CASE(@val)WHEN N'?' THEN 1WHEN N'?' THEN 2WHEN'?' THEN 3WHEN'?' THEN 4WHEN'?' THEN 5WHEN'?' THEN 6WHEN N'?' THEN 7WHEN'?' THEN 8WHEN'?' THEN 9WHEN N'?' THEN 0结尾SET @str = REPLACE(@str, @val, @newchar)设置@i+=1;结尾返回@str结尾
并调用这个函数
选择 [dbo].[udf_ReplaceArabicNumbers] (N'????')
我参考这个网站
How to convert string '????' to '1394'?
I try change collation but does not work.
Please note that I read data from external device in C# .
解决方案
i have tried to solve problem after search on internet i came to the conclusion the best way to solve this problem is function
ALTER FUNCTION [dbo].[udf_ReplaceArabicNumbers]
(@str NVARCHAR(1000))
RETURNS NVARCHAR(2000)
AS
BEGIN
DECLARE @i INT = 1
WHILE @i<=LEN(@str)
BEGIN
DECLARE @val NVARCHAR(1)
SET @val = SUBSTRING(@str, @i, 1)
DECLARE @newchar NVARCHAR(1)
SET @newchar = CASE(@val)
WHEN N'?' THEN 1
WHEN N'?' THEN 2
WHEN N'?' THEN 3
WHEN N'?' THEN 4
WHEN N'?' THEN 5
WHEN N'?' THEN 6
WHEN N'?' THEN 7
WHEN N'?' THEN 8
WHEN N'?' THEN 9
WHEN N'?' THEN 0
END
SET @str = REPLACE(@str, @val, @newchar)
SET @i+=1;
END
RETURN @str
END
and call to this function
select [dbo].[udf_ReplaceArabicNumbers] (N'????')
i refer this site http://www.51sjk.com/Upload/Articles/1/0/339/339437_20221213104102077.jpg with the help of UNICODE we can get HTML-Code and use in our Program
select '&#' + cast (UNICODE(N'?')as nvarchar(10)) + ';',
'&#' + cast (UNICODE(N'?')as nvarchar(10)) + ';',
'&#' + cast (UNICODE(N'?')as nvarchar(10)) + ';',
'&#' + cast (UNICODE(N'?')as nvarchar(10)) + ';'
and result would be
推荐阅读
热点文章
检查拆分键盘
0
带有“上一个"的工具栏和“下一个"用于键盘输入AccessoryView
0
Activity 启动时显示软键盘
0
UIWebView 键盘 - 摆脱“上一个/下一个/完成"酒吧
0
在 iOS7 中边缘滑动时,使键盘与 UIView 同步动画
0
我的 iOS 应用程序中的键盘在 iPhone 6 上太高了.如何在 XCode 中调整键盘的分辨率?
0
android:inputType="textEmailAddress";- '@' 键和 '.com' 键?
0
禁用 iPhone 中键盘的方向
0
Android 2.3 模拟器上的印地语键盘问题
0
keyDown 没有被调用
0
