Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/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 基于sid查询sys.database_主体_Sql_Sql Server_Azure Sql Database - Fatal编程技术网

Sql 基于sid查询sys.database_主体

Sql 基于sid查询sys.database_主体,sql,sql-server,azure-sql-database,Sql,Sql Server,Azure Sql Database,我在这里遇到了这种情况,我需要检查sys.database_principals表中是否存在该用户,但要基于其SID 我试图执行简单的查询 SELECT * FROM sys.database_principal where [sid] = '0x............' 但它什么也没回来。 因为sid是varbinary(85)。我需要进行一些转换。不要将二进制文字括在引号中。否则,该值将被视为字符串文字而不是二进制文字 sid varbinary(85)数据类型的值低于varchar文

我在这里遇到了这种情况,我需要检查sys.database_principals表中是否存在该用户,但要基于其SID

我试图执行简单的查询

SELECT *
FROM sys.database_principal
 where [sid] = '0x............'
但它什么也没回来。
因为sid是varbinary(85)。我需要进行一些转换。

不要将二进制文字括在引号中。否则,该值将被视为字符串文字而不是二进制文字

sid varbinary(85)数据类型的值低于varchar文字,因此sid值将从二进制转换为varchar进行比较,结果字符的比较结果将不相等

更正的查询:

SELECT *
FROM sys.database_principal
WHERE [sid] = 0x............;

不要将二进制文字括在引号中。否则,该值将被视为字符串文字而不是二进制文字

sid varbinary(85)数据类型的值低于varchar文字,因此sid值将从二进制转换为varchar进行比较,结果字符的比较结果将不相等

更正的查询:

SELECT *
FROM sys.database_principal
WHERE [sid] = 0x............;