Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >. Net字符文字

. Net字符文字
EN

Stack Overflow用户
提问于 2011-12-04 19:11:25
回答 2查看 130关注 0票数 0

我记得很久以前,当我在.NET中处理字符的时候,从SQL数据库中获取的值(char字段)被存储在一个.net char变量中,即:“a__”(字符后面的一系列空格)。我的应用程序中的这个bug导致了问题。

有谁能解释一下什么时候发生这种情况,因为我似乎不能重新创建行为,我想避免我正在处理的应用程序中的bug。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-04 19:21:29

SQL Server中的CHAR数据类型是固定大小的字段。

因此,对于CHAR(2),如果只用一个字符填充它,就会添加一个空格作为填充(对于较大的CHAR字段,会添加更多的空格)。

当从数据库中读取时,您也将获得这些空格。这不是一个错误。

您应该为数据库字段使用正确的数据类型-如果您有可变长度的文本,请使用VARCHAR (或NVARCHAR),而不是CHAR

票数 3
EN

Stack Overflow用户

发布于 2011-12-04 19:20:12

这不是一个bug。SQL中的CHAR是固定长度,并用空格填充到列定义的长度。通过“.net char变量”,我假设您谈论的是一个字符串数据类型,而不是一个实际的字符数组。

如果您想要不带填充的可变长度字符串,请使用VARCHAR或NVARCHAR。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8377869

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档