sqlchar和 char类型的 字符串怎么比较?

我在SQL数据库访问时,用SQLGETDATA的数据,遇到用strcmp(SQLCHAR *,char *)?
代码大致如下:
char sname[50];
unsigned char s[50]="abc";
sqlgetdata(hstmt,1,SQL_C_CHAR,(SQLCHAR *)sname,50,&SNAME);
strcmp((char *)sname,(char*)s);
我获取的sname 也为“abc”,但strcmp 怎么都不相等。因为空格问题。但怎么解决呢 ? 高手,求助啊

unsigned char s[50]="abc\0";
试试看
另外你可以看看strcmp的返回是+1还是-1来判断两个字符的关系
温馨提示:内容为网友见解,仅供参考
无其他回答

写sql 语句时,char和varchar,一般选用哪个?
一般varchar选择的多一点,因为varchar是可变长度,char是固定长度\\x0d\\x0a虽然效率上char要高,但是空间上会浪费,举个例子:\\x0d\\x0avarchar(5),char(5)如果都赋值'abc',那么varchar只用了3个字符空间\\x0d\\x0a而char用了3个后会自动拿空格不满,所以始终是会占用5个字符空间 ...

SQL Server中char,varchar,text和nchar,nvarchar,ntext的区别
1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。2、VARCHAR。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)...

建立SQL数据库,其中有个身份证的字段,该用什么数据类型。
char类型对英文字符占用1个字节,对一个汉字占用2个字节,而且char存储定长数据很方便,char字段上的索引效率极高。比如:定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不够的字符用空格去填。因为是固定长度,所以速度效率高。

SQL 字段类型(字符型)
char,varchar,nvarchar.没有很大的区别。nvarchar一盘用来存储汉字,如果用它来存储英文会浪费一个字节的空间。char和varchar的区别在于,varchar占用的空间会自动调节,用于不确定的字符长度。比如你定义varchar(20),但是在插入数据的时候只插入'aa',那么它只占用2个字节的空间,如果是cahr则是20 ...

SQL数据类型nchar,char,varchar与nvarchar区别
char类型:对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义 char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不够的字符用空格去填。因为是固定长度,所以速度效率高。Varchar类型:Varchar 的类型不以...

sql中char(9) char(10) char(13)分别代表哪个字符
在SQL中,特定的字符长度类型如char(9)、char(10)和char(13)分别代表特殊的字符含义:char(9) 表示水平制表符,通常与tab键功能相同,用于在文本中调整行距或对齐。char(10) 代表换行键,用于在文本的行与行之间创建新的行,就像在文档编辑中按下Enter键的效果。char(13) 代表回车键,除了换行之外...

sql 中int nvarchar char VARchar 有什么区别
1.int 类型:从 -2^31 (-2,147,483,648) 到 2^31 - 1(2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。2. char类型:对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率极高,比如...

SQL char 和varchar 用法上的区别是什么?
char会自动填充空格,varchar不会。所以varchar比较节省空间,但是检索效率char高一点。用法不存在什么区别。举个例子吧 字段a为char(5)类型 字段b为varchar(5)类型 向a,b中赋值'123'a的结果是'123 ' (123+两个空格)b的结果是'123'

数据库几个字段类型的区别
char、varchar、nchar、nvarchar的区别 对于程序中的string型字段,SQLServer中有char、varchar、nchar、nvarchar四种类型来对应(暂时不考虑text和ntext),开建立数据库中,对这四种类型往往比较模糊,这里做一下对比。 定长或变长:所谓定长就是长度固定 char、varchar、nchar、nvarchar的区别对于程序中的...

sql中char(3)什么意思
CHAR(3) 表示存储的数据长度不能超过3个字符长度。VARCHAR与CHAR对比:1、都是字符串。2、VARCHAR比较智能,可以根据实际的数据长度分配空间,比较节省空间;但在分配的时候需要相关判断,效率低。

相似回答