首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Server中,从带前导零的字符串转换为bigint不起作用

在Server中,从带前导零的字符串转换为bigint不起作用
EN

Stack Overflow用户
提问于 2014-11-04 14:02:56
回答 2查看 1.4K关注 0票数 2

我有一个SQLServerCompact3.5数据库,其中有一个nvarchar列,其中有许多类似于000000000011070876的数据。我试图使用BIGINT函数将数据复制到另一列,即CONVERT

我的第一次尝试是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UPDATE Mobile_Reservation 
SET SAPNo = CONVERT(BIGINT, ItemNumber)

如果我在Server 2008 R2中运行此查询,它就能正常工作。000000000011070876变成11070876。不幸的是,在Server中,它变成0。显然它不能处理前导零。但是它会把000000004000010576变成40,我以为这意味着它只看前10位数。然后我试着:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UPDATE Mobile_Reservation 
SET SAPNo = CONVERT(BIGINT, SUBSTRING(ItemNumber, 8, 10))

当开始索引为8时,我假设它会在4开始之前开始(头8位数总是0,但可能超过8 0)。这样做的效果要好一些,但没有成功。000000000011070876为1107,000000004000010576为40000105。

然后我尝试了硬编码字符串:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UPDATE Mobile_Reservation 
SET SAPNo = CONVERT(BIGINT, '4000010576')

这件事做得很好,让我更加困惑。我尝试了几个不同的字符串组合,它所使用的逻辑似乎是:对于字符串中的每一个前导0,另一端的一个字符被移除。'1234‘变成1234,'01234’变成123。但是这不是一个严格的快速规则,因为04000010576变成了40000105,这意味着单前导0从结尾移除两位数.

这是Server实现CONVERT的问题,还是我没有注意到的其他问题?对如何解决这个问题有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-04 16:15:56

我最终解决了这个问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UPDATE Mobile_Reservation 
SET SAPNo = CONVERT(BIGINT, REPLACE(LTRIM(REPLACE(ItemNumber, '0', ' ')), ' ', '0')) 

这不是最好的解决办法,但有效。

票数 2
EN

Stack Overflow用户

发布于 2014-11-04 14:38:00

在bigint和nvarchar()之间有一个隐式的转换--尝试一下怎么样?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UPDATE Mobile_Reservation SET SAPNo = ItemNumber

如果不是那样的话,那么有时你也可以像

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UPDATE Mobile_Reservation SET SAPNo = 0 + ItemNumber

很抱歉,我没有测试SQL。

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

https://stackoverflow.com/questions/26745902

复制
相关文章
CAN总线简介:如何以编程方式控制汽车
最近,我正与Voyage公司的朋友合作研究,以实现福特Fusion空调系统(A/C)的编程控制。目前,Voyage公司正努力打造自动驾驶的终极目标:能够以低廉的价格成本和广泛的投放范围,把世界任何地方有用车需求的人们安全自动地送达目的地。对Voyage来说,在真正实现不需司机的无人驾驶之后,必须给予后座乘客对车辆关键功能的访问控制权。 Voyage Auto:硅谷自动自动驾驶出租车初创公司,由专注机器学习、人工智能等方面的在线培训机构Udacity于2017年4月成立,在无人驾驶领域,Voyage将与谷
FB客服
2018/02/28
3.6K0
CAN总线简介:如何以编程方式控制汽车
如何以更少的成本、更便捷的方式构建私有云?
这些选项与传统的服务器部署模式类似:你可以部署在自己的服务器上,也可以在一个联合本地中心部署,你甚至可以在“托管但是专用”的基础上使用一个传统的托管服务。   这些指南适用于混合云及私有云。事实上,大多数组织都无法将完全私有的云适当化,但是他们可以为混合模型提供一个很好的案例。在混合云中,你可以通过公有云服务集成一个云并将其运行在由你直接管理的系统上。目前在市场上占据主要地位的公有云——AWS、微软Azure和谷歌云平台——都对这种集成提供了广泛的支持。   有很多的因素会致使你需要在一个私有环境中运行部分
BestSDK
2018/03/02
1.4K0
Kotlin中的可空类型
Java的NullPointException是经常遇到的异常,也是最让人头疼的一个异常。Kotlin为了解决这个问题,引进了可空类型,将运行时可能发生异常提前到编译期发现。 Kotlin中有可空类型,这种类型表示取值可能为空;而一般类型,则取值不能为空。区别是类型后面有一个?,表示这个类型是可空的。 举个栗子:
用户1108631
2019/08/17
1.5K0
【面经】面试官:如何以最高的效率从MySQL中随机查询一条记录?
从这个题目来看,其实包含了两个要求,第一个要求就是:从MySQL数据表中查询一条随机的记录。第二个要求就是要保证效率最高。
冰河
2020/11/09
3.4K0
SAP BOM修改记录查询的几种方式
F8执行(DATUM表示开始日期,TABNAME:BOM的Header,填写STKO;TABKEY:对应表的字段属性),然后再执行即可看到对应字段所做得创建,修改,删除bom的所有记录
用户5495712
2019/10/11
10.9K0
SAP BOM修改记录查询的几种方式
Java 8中的Optional 类型与 Kotlin 中的可空类型Java 8中的Optional 类型与 Kotlin 中的可空类型Kotlin 中的可空类型《Kotlin极简教程》正式上架:
Java 8中的Optional 类型与 Kotlin 中的可空类型 在 Java 8中,我们可以使用 Optional 类型来表达可空的类型。 package com.easy.kotlin; import java.util.Optional; import static java.lang.System.out; /** * Optional.ofNullable - 允许传递为 null 参数 * Optional.of - 如果传递的参数是 null,抛出异常 NullPointerEx
一个会写诗的程序员
2018/08/17
2.6K0
XML 可拓展标记语言
JavaScript Object Notation(JavaScript 对象表示法)
xiaozhangStu
2023/05/04
7420
XML——可扩展标记语言
(1)可扩展性方面:XML允许用户根据需要自行定义新的标识及属性名,以便更好地从语义上修饰数据。
From Zero
2021/12/07
7280
AI可自动跟踪和标记移动中动物的身体部位
哈佛大学的研究人员和学术界研究者合作开发了一种名为DeepLabCut的深度学习方法,可以自动跟踪和标记移动中动物的身体部位,具有可与人类匹敌的准确性。
AiTechYun
2018/09/26
1.4K0
AI可自动跟踪和标记移动中动物的身体部位
Swift中的异步编程方式
说到异步编程,我们很容易想到的编译回调。无论是需要并行的耗时任务,还是允许串行的简单任务,都通过回调的方式返回结果。回调也是在开发中使用最为广泛的一种异步编程方式。回想一下,通常的网络请求,文件操作等函数都会提供一个回调参数。回调使用起来虽然方便,但其并不利于进行程序流程的控制,仅仅从代码层面看,也很难组织清楚代码的执行顺序和逻辑。
珲少
2023/09/23
4770
Java中类型判断的几种方式
在Java这种强类型语言中类型转换、类型判断是经常遇到的。今天就细数一下Java中类型判断的方法方式。
码农小胖哥
2020/09/27
8K0
Spring Boot 如何以 Web 应用的方式启动
https://www.cwiki.us/display/SpringBootZH/questions/57938770
HoneyMoose
2020/04/04
4510
Spring Boot 如何以 Web 应用的方式启动
以编程方式执行Spark SQL查询的两种实现方式
摘 要 在自定义的程序中编写Spark SQL查询程序 1.通过反射推断Schema package com.itunic.sql import org.apache.spark.sql.SQLContext import org.apache.spark.{SparkConf, SparkContext} /**   * Created by itunic.com on 2017/1/2.   * Spark SQL   * 通过反射推断Schema   * by me:   * 我本沉默是关注互联
天策
2018/06/22
2K0
查询SQLSERVER执行过的SQL记录(历史查询记录)
字符串int 拼接 SELECT ‘a-‘ + CONVERT(varchar(50), log_ID) AS Expr1, log_Title, log_Url FROM blog_Article
全栈程序员站长
2022/07/09
6K0
HTML中的标记
文章目录 前言 块级元素 行内元素 行内块级元素 ---- 前言 HTML中的标记 块级元素 h1-h6>>1-6级标题 p>>段落 div>>定义文档中的节 ul>>定义无序列表 ol>>定义有序列表 li>>定义无序列表与有序列表中的项 hr>>水平线 address>>定义文档作者或拥有者的联系信息 blockquote>>定义长的引用 pre>>定义预格式文本 form>>定义表单 fieldset>>定义围绕表单中元素的边框 legend>>定义 fieldset 元素的
MIKE笔记
2023/03/23
5.6K0
Scala的自定义类型标记
Scala中有很多千奇百怪的符号标记,看起来是那么的独特,就像是一杯dry martini...好像黑夜中的萤火虫,那么耀眼,那么出众。
程序那些事
2020/07/08
8550
MySQL 在查询结果中记录行号
在其他的关系型数据库中,都有rownum这类型的内置函数来提供查询结果的行号,但是MySQL没有,阿福也一直觉得奇怪。
用户2353021
2020/05/09
6.6K0
3种方式提升云可扩展性
在亚马逊云服务中部署被盛赞为是一个很好的方式来实现高扩展性并且你只需要支付你所使用的云计算机性能即可。那么,如何从这项技术中获得最佳的扩展性呢?
FesonX
2018/01/15
3.2K0
Sqlserver查询数据表中的字段类型
select a.name 表名, b.name 字段名, case c.name when 'numeric' then 'numeric(' + convert(varchar,b.length) + ',' + convert(varchar,b.xscale) + ')' when 'char' then 'char(' + convert(varchar,b.length) + ')' when 'varchar' then 'varchar(' + convert(varchar,b.l
静谧的小码农
2019/04/25
4.2K0
Sqlserver查询数据表中的字段类型
MyBatis中模糊查询like的几种使用方式
1. 直接在Java代码中添加通配符的方式 String sname = "%张三%"; System.out.println(studentMapper.getStudent(sname)); <select id="getStudent" resultType="map" parameterType="String"> SELECT sid,sname FROM student WHERE sname like #{sname} </select> 2. CONCAT函数的方式 String sna
布禾
2020/12/07
3.2K0

相似问题

如何以编程方式在类型记录中创建类函数?

14

如何以编程方式记录PerformanceCounter

22

如何以编程方式配置云任务队列

118

如何以编程方式设置WPF工具包DateTimePicker

11

如何以编程方式安装类型

110
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文