手机版
你好,游客 登录 注册
背景:
阅读新闻

SQL中前置0和后置0的处理问题

[日期:2019-08-15] 来源:Linux社区  作者:zq-ding [字体: ]

在sql语句中经常遇到处理前置和后置数据的问题

1、首先使用convert转化函数对预处理的数据进行转化,CONVERT()函数可以将制定的数据类型转换为另一种数据类型

MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:

CAST(value as type);
CONVERT(value, type);

就是CAST(xxx AS 类型), CONVERT(xxx,类型)。

可以转换的类型是有限制的。这个类型可以是以下值其中的一个:

  • 二进制,同带binary前缀的效果 : BINARY   
  • 字符型,可带参数 : CHAR()   
  • 日期 : DATE   
  • 时间: TIME   
  • 日期时间型 : DATETIME   
  • 浮点数 : DECIMAL     
  • 整数 : SIGNED   
  • 无符号整数 : UNSIGNED

2、需要把前置或者后置的数据用一个特定的字符替代,或者用空字符代替然后去除空格,达到实现转换数据的目的。

需要用到的函数:

RTRIM()函数,用于去除字符串右边多余的空格,不管有多少个空格,一次性全部清除。

LTRIM()函数,用于去除字符串左边多余的空格,不管有多少个空格,一次性全部清除。

例如:数据10和00010进行匹配判断

  解决方法:先把00010中所有的0转化成" "空字符,然后再去掉左边的" "空字符,最后把右边的" "空字符转化成0。

replace(ltrim(replace(convert('00010',SIGNED),'0',' ')),' ','0')

SQL判断条件:

SELECT *
FROM `table`
WHERE IF( `parentID` =1, `plan_id` <10, `plan_id` >500 )
LIMIT 0 , 30

说明:WHERE IF(条件, true执行条件, false执行条件 )

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-08/160089.htm

linux
相关资讯       SQL语句 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款