SQL 服务器 table 未显示 table 中列的值
SQL Sever table is not showing value for a column in a table
我们正在使用 Attunity 将数据从 Oracle 复制到 SQL 服务器。
在 Oracle 数据库中,table MEMO 有一个 Description 列,它有一些值。
(for ID = 1)
Description = 'This is test record'
但是 SQL 服务器未在描述列(其中 id =1)中显示该值,它显示为空。
当我使用 Dbeaver 查询相同的 table 时,描述列显示字符 'p'.
Description = 'P'
我尝试在Notepad++中复制,启用显示所有字符,但仍然没有用。帮助我处理这种奇怪的行为。
DECLARE @Result varchar(255)
SET @Result = ''
DECLARE @nchar nvarchar(1)
DECLARE @position int
SET @position = 1
WHILE @position <= LEN(@nstring)
BEGIN
SET @nchar = SUBSTRING(@nstring, @position, 1)
IF((ASCII(@nchar) BETWEEN 64 and 90) OR (ASCII(@nchar) BETWEEN 97 and 122) OR (ASCII(@nchar) BETWEEN 48 and 57) OR ASCII(@nchar) = 32)
BEGIN
SET @Result = @Result + @nchar
END
ELSE
BEGIN
DECLARE @asciichar varchar(10)
SET @asciichar = ASCII(@nchar)
SET @Result = @Result + REPLACE(@nchar,CHAR(@asciichar),'')
END
SET @position = @position + 1
END
RETURN @Result
END
我们正在使用 Attunity 将数据从 Oracle 复制到 SQL 服务器。
在 Oracle 数据库中,table MEMO 有一个 Description 列,它有一些值。
(for ID = 1)
Description = 'This is test record'
但是 SQL 服务器未在描述列(其中 id =1)中显示该值,它显示为空。
当我使用 Dbeaver 查询相同的 table 时,描述列显示字符 'p'.
Description = 'P'
我尝试在Notepad++中复制,启用显示所有字符,但仍然没有用。帮助我处理这种奇怪的行为。
DECLARE @Result varchar(255)
SET @Result = ''
DECLARE @nchar nvarchar(1)
DECLARE @position int
SET @position = 1
WHILE @position <= LEN(@nstring)
BEGIN
SET @nchar = SUBSTRING(@nstring, @position, 1)
IF((ASCII(@nchar) BETWEEN 64 and 90) OR (ASCII(@nchar) BETWEEN 97 and 122) OR (ASCII(@nchar) BETWEEN 48 and 57) OR ASCII(@nchar) = 32)
BEGIN
SET @Result = @Result + @nchar
END
ELSE
BEGIN
DECLARE @asciichar varchar(10)
SET @asciichar = ASCII(@nchar)
SET @Result = @Result + REPLACE(@nchar,CHAR(@asciichar),'')
END
SET @position = @position + 1
END
RETURN @Result
END