SQL SERVER 全角和半角的解决方法

今天在开发项目当中遇到了一个非常郁闷的问题,导致我的更新总是屡屡失败,数字全角半角的问题

update corptax

set corptax.mandep = c.SALECOMPANY

from corptax

t,collection c

where t.INVOICECODE = c.invoicecode and cast(t.invoiceno as

int(8)) between c.BEGINCODE  and c.ENDCODE

corptax 表中的 invoiceno

是一个varchar(50)的,其实实际上这个字段保存的是(0-9)8位数字,用别人的表只能自己解决了,invoiceno在数据库中的错误记录如下:

00412051

02155331

等等……

解决方法,自定一个用户函数:去替换掉里面的全角字符

CREATE FUNCTION shasha  (@fphm varchar(50))

RETURNS

varchar(8)

AS

BEGIN

SET @fphm = replace(@fphm,' ','');

SET

@fphm = replace(@fphm,'0','0');

SET @fphm = replace(@fphm,'1','1');

SET @fphm = replace(@fphm,'2','2');

SET @fphm =

replace(@fphm,'3','3');

SET @fphm = replace(@fphm,'4','4');

SET

@fphm = replace(@fphm,'5','5');

SET @fphm = replace(@fphm,'6','6');

SET @fphm = replace(@fphm,'7','7');

SET @fphm =

replace(@fphm,'8','8');

SET @fphm = replace(@fphm,'9','9');

RETURN(@fphm)

END

之后用sql 语句更新就可以了

update corptax set invoiceno = dbo.shasha(invoiceno) where

ASCII(SUBSTRING(invoiceno,1,1))>57

where 后面条件的意思是如果取到的第一个数字的ascii不在(0-9)之内,0的ascii码为48,

9的ascii为57.全角的ascii码大于半角的ascii码,这样所有全角的记录就被更新成半角了。

希望我们每个人都能用心去解决自己遇到的问题。

sql select半角html全角,SQL SERVER 全角和半角的解决办法相关推荐

  1. SQL Server 安装文件挂起错误解决办法

    SQL Server 安装文件挂起错误解决办法 刚开始使用SQL Server 2000,就给了我一个下马威.不过最终还是解决了.具体情况和解决方法: 安装SQL Server 2000的操作系统是W ...

  2. JDBC查询数据库时出现 sql语句正确,但是查询英文可以,汉字不行的情况解决办法

    sql语句正确,但是查询英文可以,汉字不行的情况解决办法 出现这种情况是因为编码格式的原因,我们在设置数据库的URL时一般会设置为 Connection conn = DriverManager.ge ...

  3. navicat for mysql执行sql语句报错: [Err] 1146 - Table ‘performance_schema.session_status‘doesn‘t exist 解决办法

    navicat for mysql执行sql语句报错: [Err] 1146 - Table 'performance_schema.session_status' doesn't exist 解决办 ...

  4. Window server 2008 R2 无法安装tools 解决办法

    Window server 2008R2 无法安装 VMware tools 解决办法 问题描述:VMware tools 安装选项显示灰色无法安装 1. 下载VMware tools 安装镜像包 官 ...

  5. arcgis server 10.4 授权不成功解决办法

    arcgis server 10.4 授权不成功解决办法 以及10.5授权文件(内部版本,仅供学习使用) 以记事本方式打开授权文件 2.用双斜杠把 portal 授权行注释掉,然后保存. 3.最后重新 ...

  6. server sql top速度变慢解决方案_SQL Server的性能调优:解决查询速度慢的五种方法-数据库...

    编辑推荐: 本文主要通过一下几个方面介绍:使用SQL DMV查找慢速查询.通过APM解决方案查询报告.SQL Server扩展事件.SQL Azure查询性能洞察等相关内容. 本文来自博客园,由火龙果 ...

  7. SQL Server 装载 msxmlsql.dll 失败的解决办法

    错误信息:装载 msxmlsql.dll 失败(Failed to load Msxmlsql.dll). 环境:ASP.NET2.0  SQL Server 2000(SP4). 出错原因:存储过程 ...

  8. SQL server数据库恢复挂起的解决办法

    在我们进行项目开发时候经常使用数据库,SQL Server数据库已经成为我们熟悉的数据库,而我们只了解常用的功能,对于一些没有出现过的问题有点不知所措,总结是在实际情况遇到问题的收获,希望能够帮助到你 ...

  9. sql server数据库恢复挂起的解决办法

    我改了我的数据源的位置,然后charge数据库就显示了恢复挂起的字样,于是我就查找了一番,解决了此问题! 之所以会出现恢复挂起,是因为已经确定了charge数据库的路径,一旦路径发生变化,这个数据源就 ...

  10. python引号嵌套_【python】sql语句插入中内容同时包含单引号和双引号的解决办法...

    在python中调用MySQLdb模块插入数据信息,假设待输入信息data为: Hello'World"! 其中同时包含了单引号和双引号 一般插入语句为 sql = "insert ...

最新文章

  1. 亚马逊刊登php代码,最全的亚马逊刊登listing工具了解一下
  2. Windows消息备忘录
  3. mciSendString用法
  4. NUXT快速开始,选择Vuetify
  5. 内存溢出_JVM|03内存溢出实战
  6. APUE(7)---进程环境
  7. Vim和Vi的常用命令
  8. 提高篇 第三部分 图论 第1章 最小生成树
  9. ChinaJoy是什么
  10. Linux操作系统下SSH默认22端口修改方法
  11. 关于材料设计vector矢量图形
  12. 计算机基础必修上课是上机吗,关于大学计算机基础论文范文集,与上海财经大学国际工商管理学院相关毕业论文范文...
  13. 光耦隔离模拟信号的传输方式
  14. 【RT-Thread Master】at24cxx软件包使用笔记
  15. Revo RS5025005C00000
  16. props的几种写法
  17. overleaf 插入图片_Overleaf手册(三)--图片
  18. 原生js实现(别踩白块小游戏)
  19. 查询邮件传输日志(exchange2016)
  20. 通过CLion 调试JDK源码

热门文章

  1. Windows10+小米R3G设置HP deskjet 1100局域网共享
  2. 小程序和uniapp的globalData以及getApp()
  3. Word中添加压缩包,word中添加文件
  4. Mybatis:敏感信息加密存入数据库、解密读出
  5. 要赚钱,请趁早,你的工作无法让你安度晚年
  6. 【Linux面试常用问题】会了这些,去工作完全不用担心了
  7. python py启动闪退_运行ride.py报错,闪退
  8. 蓝光光盘在电脑上安装恶意软件
  9. 计算机硬盘线拔不出来,硬盘线常见问题解答
  10. 公司为程序员更换“带床”办公桌,网友:以前是坐票现在改卧铺了