为了账号安全,请及时绑定邮箱和手机立即绑定

sql server 字段是varchar(50), 参数化的方式插入数据,使用nvarchar(300),会出现什么问题?

sql server 字段是varchar(50), 参数化的方式插入数据,使用nvarchar(300),会出现什么问题?

潇湘沐 2018-12-07 01:38:36
1 使用Dapper插入数据,数据库的字段是 Name varchar(50), 在插入的时候没有使用数据的长度和类型(插入的数据长度在50以下),然后数据库查看执行计划的时候看到的是  @Name Nvarchar(4000),但是数据确实插进去了,也没报错,有可能会出现别的什么问题吗?     假设sqlserver是支持中文的情况下,会有什么问题??
查看完整描述

7 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

nvarchar兼varchar,如果需要用到其他国家的语言,那字段就用nvarchar,不然会出错

查看完整回答
反对 回复 2019-01-07
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

你试试不就知道了?

查看完整回答
反对 回复 2019-01-07
?
波斯汪

TA贡献1811条经验 获得超4个赞

你又来了 大叔  我试过了  我想知道 大家的体验

查看完整回答
反对 回复 2019-01-07
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

 你试过了吗

查看完整回答
反对 回复 2019-01-07
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

sql server的话在我记忆里面应该是会语句终止报错,Oracle的话超过长度的会自动截断进行保存。

查看完整回答
反对 回复 2019-01-07
?
函数式编程

TA贡献1807条经验 获得超9个赞

走长了就会有问题。

查看完整回答
反对 回复 2019-01-07
?
噜噜哒

TA贡献1784条经验 获得超7个赞

VARCHAR和nvarchar都是变长的,括号中的数字是最大长度,实际长度可以使用len得出,如果源数据实际长度小于目标数据长度,即使最大长度很的,也不会出错,understand?

查看完整回答
反对 回复 2019-01-07
  • 7 回答
  • 0 关注
  • 780 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信