Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 特殊字符在数据库中不可见_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server 特殊字符在数据库中不可见

Sql server 特殊字符在数据库中不可见,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我的数据字段中有一些特殊字符。我需要知道是什么。我知道这不是空间 select查询返回akasa和akasa。定义的主列上有两个相同的条目 Select userid from users where userid like 'akasa%'. 当我在查询中使用len函数时,它显示长度为5和7。这意味着这些是不同的值 当我使用命令时 Select userid from users where userid='akasa '. 它没有显示任何东西,这意味着它不是空间 所以,我意识到有两个特

我的数据字段中有一些特殊字符。我需要知道是什么。我知道这不是空间

select查询返回akasa和akasa。定义的主列上有两个相同的条目

Select userid from users where userid like 'akasa%'.
当我在查询中使用
len
函数时,它显示长度为5和7。这意味着这些是不同的值

当我使用命令时

Select userid from users where userid='akasa  '.
它没有显示任何东西,这意味着它不是空间

所以,我意识到有两个特殊的字符是不可见的,我需要知道它们是什么?我可以用什么来检测它们呢?

我首先要问你为什么想知道它是什么。如果目的是简单地将其删除或转换为其他内容,则可以使用以下选项选择该行:

... where userid like 'akasa%' and userid <> 'akasa'
。。。其中userid如“akasa%”和userid为“akasa”
例如,要删除它,只需在该子句中使用
delete


或者,如果您确实需要确切了解它们是什么,请编写一个Java/JDBC或C#/ODBC小程序,使用
where
子句检索行,并且您应该能够以任何形式打印出实际列值,例如十六进制表示。

要检查单个字符,可以使用:

返回字符表达式最左侧字符的ASCII码值

以及:

返回字符、二进制、文本或图像表达式的一部分

例如

将准确地告诉您第六个字符是什么

如果让我猜的话,我猜你会发现回车和换行符(ASCII值13,10)


以下是一个供参考的示例。

您是如何执行这些查询的?问题可能在于您正在查看的任何GUI结果。谢谢!!是的,我可以简单地删除它。但是,出于好奇,我问如何检测它。谢谢。我在第一个中找到了32和13个值,在第二个中找到了32和32个值。32是代表
SELECT ASCII(SUBSTRING(userid,6,1))