请教如何返回字串的字节数,而不是字符数? DATALENGTH 返回任何表达式所占用的字节数。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TO:海始于斯:你是开玩笑吧谢谢邹建、朱二,我试过了没问题。可是呢,我真正的问题还没有解决,请看:在查询分析器里执行create table #TEMP (FLD varchar(10))insert into #TEMP (FLD) values ('中华人民共和国新疆维吾尔自治区')就出错:服务器: 消息 8152,级别 16,状态 9,行 3将截断字符串或二进制数据。语句已终止于是我改成insert into #TEMP (FLD) values (left('中华人民共和国新疆维吾尔自治区',10))仍出相同的错,原因是left()也是按字符而不是按字节来算的,它的结果是'中华人民共和国新疆维'。最理想的解决方案是,不用什么left(),它也能自动切除多余的部分,该语句正常执行而不被终止。各位大侠,请赐高招,万分感谢!!! 终于找到答案了,以下是范例:SET ANSI_WARNINGS OFFinsert into #TEMP (FLD) values ('中华人民共和国新疆维吾尔自治区')SET ANSI_WARNINGS ONselect * from #TEMP结果为:中华人民共不要用left(),它也是用字符计算的(而不是字节). create table #TEMP (FLD varchar(10))---》create table #TEMP (FLD varchar(50)) declare @FLD varchar(10)set @FLD='中华人民共和国新疆维吾尔自治区'create table #TEMP (FLD varchar(10))insert into #TEMP (FLD) values (@FLD) 或者create table #TEMP (FLD varchar(10))insert into #TEMP (FLD) values (cast('中华人民共和国新疆维吾尔自治区' as varchar(10))) mysql怎么改成自动添加(AUTO INCREMENT) 新手请教一个问题 SA帐户到底有什么用啊? 在access中怎么样用sq插入自动编号字段? 怎样用存储过程编写个自动完成编号的功能?? 关于SQL2000升级2005的问题 数据表的主键有什么作用 SQL中如何按位数取字符串 为什么通过代理服务器不能访问ISP上的MSSQL? sql server2008 做数据库镜像报错1418 关于数据导出导入时出现因主键问题出错,请问如何解决? 在线等待,在sql server 7中怎样实现级连删除??
谢谢邹建、朱二,我试过了没问题。可是呢,我真正的问题还没有解决,请看:在查询分析器里执行
create table #TEMP (FLD varchar(10))
insert into #TEMP (FLD) values ('中华人民共和国新疆维吾尔自治区')
就出错:
服务器: 消息 8152,级别 16,状态 9,行 3
将截断字符串或二进制数据。
语句已终止于是我改成
insert into #TEMP (FLD) values (left('中华人民共和国新疆维吾尔自治区',10))
仍出相同的错,原因是left()也是按字符而不是按字节来算的,它的结果是'中华人民共和国新疆维'。最理想的解决方案是,不用什么left(),它也能自动切除多余的部分,该语句正常执行而不被终止。各位大侠,请赐高招,万分感谢!!!
insert into #TEMP (FLD) values ('中华人民共和国新疆维吾尔自治区')
SET ANSI_WARNINGS ONselect * from #TEMP
结果为:中华人民共不要用left(),它也是用字符计算的(而不是字节).
---》create table #TEMP (FLD varchar(50))
set @FLD='中华人民共和国新疆维吾尔自治区'
create table #TEMP (FLD varchar(10))
insert into #TEMP (FLD) values (@FLD)
create table #TEMP (FLD varchar(10))
insert into #TEMP (FLD) values (cast('中华人民共和国新疆维吾尔自治区' as varchar(10)))