SQL数据库和c#的数据类型转换

本文详细介绍了C#中的各种数据类型及其在SQL中的对应类型,包括字符串、布尔值、整数、浮点数和日期时间类型。同时,探讨了固定字符与可变字符的区别,以及在不同场景下它们的应用。最后,分享了一些常用的数据类型强制转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据类型的转换在编程中出现的几率还是比较大的

熟练的运用后,查询至少没问题

C#数据类型

对应的sql数据类型 仅部分

 

 

String

char(n 固定长度字符串最多储存8k字符

nchar(n) 固定长度的unicode只能储存4k字符

varchar(n)可变长度字符串最多8k字符不可加中文

nvachar(n)可变长度的unicode最多4k字符有中文

text 可变长度字符串最多2GB储存

string 可变长度的unicde数据 最多2GB储存

 

固定字符:

就是那的储存大小是固定的你储存的数据长度不能大于n且你储存的数据只要小于n就会占用n的空间

固字符比较节省计算机性能,但费空间;

但若知道一些字段具有固定长度时非常好用 如手机号,身份证号等用固定字符储存节省性能又节省空间

可变字符:

相对于固定字符,可变字符灵活性强,他没有固定的储存大小是根据存入数据的长度来确定储存空间大小

要储存的数据的长度时多少,它就能分配多大的空间来储存,可以合理分配空间,不过会占用计算机性能

可变字符节省空间,但费性能;

在不确定字符长度的时候可以使用 比如备注

C#数据类型

对应的sql数据类型 仅部分

bool

bit  0,1;true,false

byte

tinyint 0-255范围整数

short

smallint(短整形)-2^15-2^15-1范围整数

int

int -2^31-2^31-1范围整数

long

bigint(长整形) -2^63-2^63-1范围整形

float

表32位浮点数,精度7位(表32位的小数小数位32)

double

64位浮点数 精度15-16位

decimal

128位浮点数精度28-29位

datetime

时间类型右侧是时间分为和最小时间单位

datetime 从1705.011.01-9999.12.112.31 精度位100纳秒

smalldatetime 1900.01.01-2079.06.06精度1分钟

接下来是常用的强制转换数据类型的方法

string parameter="123"


int commodityDetailID = parameter;


可以看到直接赋值因为无强制转换类型,会出现当前情况;

当给数据加上强制转换就可以解决这种情况了

Convert 将一个基本数据类型强制转换为另一个基本类型


在后面.出转换后的数据类型这里的ToInt32为32位整数的数据类型;

这是部分的可转换的数据类型.

这里没有将int转换为short的方法


接下来就给大家分享一个可以将int转换为short的方法(ToInt16是可以的


Inventory.Amount=(short)(Inventory.Amount + (short)Convert.ToDecimal(Differences[i]));

就这样了,本次分享就到这里了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值