关于用sql语句实现一串数字位数不足在左侧补0的技巧

在日常使用sql做查询插入操作时,我们通常会用到用sql查询一串编号,这串编号由数字组成。为了统一美观,我们记录编号时,统一指定位数,不足的位数我们在其左侧补0。如编号66,我们指定位数为5,则保存数据应为00066。这样的操作在sql中应当怎样实现呢?

首先给出查询语句:RIGHT(‘0000‘+CAST( ‘123‘  AS nvarchar(50)),4)

语句解释:公式 RIGHT(‘位数‘+CAST(要判断的字段 AS nvarchar(50)),位数 )

PS:以上查询语句是放在select中,查询结果是对要判断的全部字段进行左侧补0处理。

例:查询用户表的全部用户编号,并对编号进行5位不足补0处理

用户表:

查询语句与结果:

时间: 2024-10-23 12:24:29

关于用sql语句实现一串数字位数不足在左侧补0的技巧的相关文章

Java数字格式化输出时前面补0

/** * 里数字转字符串前面自动补0的实现. * */ public class TestStringFormat { public static void main(String[] args) { int youNumber = 1; // 0 代表前面补充0 // 4 代表长度为4 // d 代表参数为正数型 String str = String.format("%04d", youNumber); System.out.println(str); // 0001 } }

java 保留字符串数字的位数,不够前面补0

@Test public void test() { this.printToConsole(autoGenericCode("10011")); this.printToConsole(autoGenericCode("000",3)); } /** * 不够位数的在前面补0,保留code的长度位数字 * @param code * @return */ private String autoGenericCode(String code) { String re

sql语句判断是否为数字、字母、中文

1. select ascii(字段) 数字:48-57字母:65-123汉字:123+ 如,要删除某个全为数字的字段 DELETE FROM table  WHERE ascii(name) between 48 and 57 2. 一.包含中文字符 select * from 表名 where 列名 like '%[吖-座]%' 二.包含英文字符 select * from 表名 where 列名 like '%[a-z]%' 三.包含纯数字 select * from 表名 where 列

Java里数字转字符串前面自动补0的实现

因为比较简单,直接上代码吗,相信大家都能看的懂的. public static void main(String[] args) { int num= 1; // 0 代表前面补充0 // 3代表长度为3 // d 代表参数为正数型 String str = String.format("%03d", num); System.out.println(str); // 001 }

数字位数不够,前补零的实现方案

//自定义的函数 //参数 num: 被操作数 //参数 n: 固定的总位数 function PrefixZero(num, n) { return (Array(n).join(0) + num).slice(-n); } //例子 var myNum = 9; var myNum2 = 12; console.log('原变量myNum:'+myNum);//9 console.log('处理后myNum:'+PrefixZero(myNum, 3));//009 console.log(

SQL语句性能优化--LECCO SQL Expert

SQL语句的优化是将性能低下的SQL语句转换成目的相同的性能优异的SQL语句. 人工智能自动SQL优化就是使用人工智能技术,自动对SQL语句进行重写,从而找到性能最好的等效SQL语句. 数据库性能的优化   一个数据库系统的生命周期可以分成:设计.开发和成品三个阶段.在设计阶段进行数据库性能优化的成本最低,收益最大.在成品阶段进行数据库性能优化的成本最高,收益最小. 数据库的优化通常可以通过对网络.硬件.操作系统.数据库参数和应用程序的优化来进行.最常见的优化手段就是对硬件的升级.根据统计,对网

在mysql中修改表名的sql语句

在使用mysql时,经常遇到表名不符合规范或标准,但是表里已经有大量的数据了,如何保留数据,只更改表名呢?可以通过建一个相同的表结构的表,把原来的数据导入到新表中,但是这样视乎很麻烦.能否简单使用一个SQL语句就搞定呢?当然可以,mysql5.0下我们使用这样的SQL语句就可以了.ALTER TABLE table_name RENAME TO new_table_name例如 ALTER TABLE admin_user RENAME TO a_us

使用SqlCommand 执行SQL语句

string sConnectionString = @"server=(local)\SQLEXPRESS;database=Forum;Trusted_Connection=True"; using (SqlConnection conn = new SqlConnection(sConnectionString)) {     conn.Open();     using (SqlCommand cmd = new SqlCommand())     {         // 绑

基于SpringJDBC的类mybatis形式SQL语句管理的思考与实现

SpringJDBC为我们提供了一个非常方便的数据库访问接口,我们都知道使用JdbcTemplate对数据库进行操作时需要传入执行的SQL语句.在小型系统中,SQL语句可能并不会太多,这个时候我们无论采取什么方式进行管理都没有关系.但是当系统逐渐庞大后,我们就要考虑以一种恰当的方式对这些SQL进行管理了.我们将首先介绍比较常见的几种SQL管理方式,然后再讨论类mybatis形式的SQL管理方式. 在方法中直接构造并传入 这种方式是在需要执行数据库操作的方法内直接硬编码SQL语句.这样做的好处在于