SQLSERVER 拆分字符串并转换为ASCII码
IF OBJECT_ID('tempdb..#ExampleTable') IS NOT NULL DROP TABLE #ExampleTable;
-- 创建一个示例表
CREATE TABLE #ExampleTable (ID INT IDENTITY(1,1), StringValue NVARCHAR(MAX))
-- 插入示例数据
INSERT INTO #ExampleTable (StringValue) VALUES ('工程服务 ');
-- 使用递归CTE拆分字符串并转换为ASCII码
WITH SplitString AS (
SELECT ID, 1 AS Position, SUBSTRING(StringValue, 1, 1) AS CharValue
FROM #ExampleTable
UNION ALL
SELECT SplitString.ID, SplitString.Position + 1, SUBSTRING(ExampleTable.StringValue, SplitString.Position + 1, 1) AS CharValue
FROM SplitString
INNER JOIN #ExampleTable ExampleTable ON SplitString.ID = ExampleTable.ID
WHERE SplitString.Position < LEN(ExampleTable.StringValue)
)
SELECT ID, CharValue, ASCII(CharValue) AS ASCIICode
FROM SplitString
ORDER BY ID, Position