SQLServer中查询的数字列前面补0返回指定长度的字符串

SQLServer中查询的数字列前面补0返回指定长度的字符串:

如:

角本如下:

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT TOP 1000 [ID]
      ,[SN]
      ,[Name]
  FROM [EduDB].[dbo].[TestTab]
  select Right(‘0123456‘,SN) from TestTab;
  select RIGHT(REPLICATE(‘0‘,5)+CAST(SN AS varchar(10)),5) AS ‘SN‘ from TestTab;
  select RIGHT(‘00000000‘+CAST(SN as varchar(10)),5) as ‘sn‘ from TestTab

效果如下:

时间: 2024-08-09 14:11:44

SQLServer中查询的数字列前面补0返回指定长度的字符串的相关文章

php在数字前面补0得到固定长度数字的两种方法

比较基础,其实两个内置函数都能实现. 1  sprintf 语法: string sprintf(string format, mixed [args]...); 返回值: 字符串 函数种类: 资料处理 本函数用来将字符串格式化.参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止.而在转换的格式间依序包括了 填空字符.0 的话表示空格填 0:空格是默认值,表示空格就放着. 对齐方式.默认值为向右对齐,负号表向左对齐. 字段宽度.为最小宽度. 精确度.指在小数点后的浮点数位数.

获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数

#region 函数:GetSubString() 作用:获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数 /// <summary> /// 获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数 /// </summary> /// <param name="strSub">输入中英混合字符串</param> /// <param name="start"

sqlserver中判断是数字(会自动将.3识别为0.3)

SQL Server 检测是不是数字型的数据(两种方法) 检测是不是数字型的数据, 两种方法 1. ISNUMERIC ( expression ) 2. PATINDEX ( '%pattern%' , expression ) 1. ISNUMERIC ( expression ) 如果是数字类型则返回 1 ,不是则返回 0 但ISNUMERIC有时是不可靠的,如果你不允许expression包含有任何字母,则会判断错: 如:ISNUMERIC('23e4')返回 1 ISNUMERIC('

批处理命令如何输出保持三位的数字,不足补0

做测试用到数字需要补0,用windows很头疼.最后终于找到了一种方法. 其实只要一句话:Set "Num=000%a%"&Set "Num=!Num:~-3!" 实例如下: @Echo Off&SetLocal EnableDelayedExpansion set a=2 Set "Num=000%a%"&Set "Num=!Num:~-3!" echo %Num% echo %a% pause 原文

mongodb 实现关系型数据库中查询某一列 的效果

最近在tornado\mongodb\ansible mongodb中有个find()方法很牛逼,可以将集合中所有的表都传出来,一开始我这么写 class Module_actionHandler(tornado.web.RequestHandler): def get(self, *args, **kwargs): coll = self.application.db.waitfish hosts = coll.find({}, {'hostname':1,"_id":0}) mod

Sqlserver中PIVOT行转列透视操作

创建表: IF OBJECT_ID('T040_PRODUCT_SALES') IS NOT NULL DROP TABLE T040_PRODUCT_SALES create table T040_PRODUCT_SALES ( ID INT IDENTITY(1,1), ProductName VARCHAR(20), SaleMonth INT, SalesCount INT ) 插入数据并排序: INSERT INTO T040_PRODUCT_SALES VALUES ('Bicycl

SqlServer 中查询子节对应的上级自定义函数

CREATE FUNCTION [dbo].[FN_TopGetOrgByUserName] ( @UserName NVARCHAR(128) ) RETURNS @showOrg TABLE(id NVARCHAR(36)) AS BEGIN DECLARE @baseOrg TABLE(id NVARCHAR(36), fullpath NVARCHAR(200), shortName NVARCHAR(200), parentid NVARCHAR(36), [level] INT,in

SQLSERVER中的人民币数字转大写的函数实现

CREATE  FUNCTION [dbo].[f_num_chn] (@num numeric(14,5))RETURNS varchar(100) WITH ENCRYPTIONASBEGIN--版权所有:[email protected]  DECLARE @n_data VARCHAR(20),@c_data VARCHAR(100),@n_str VARCHAR(10),@i int SET @n_data=RIGHT(SPACE(14)+CAST(CAST(ABS(@num*100)

Sql Server 中由数字转换为指定长度的字符串

一个列的数据类型是 int ,从 1 开始自动增长,另一个列是字符串,现在想把 int 列转换成 九个字符,比如 1 转换后就是 000000001 ,添到字符串列,怎么实现呢? set @imaxUType=190 select @tmp=right(str(@imaxUType+1000000000),9) select @tmp 结果 Column1 ---------- 000000190 这个方法至多9位高了后MSSQL 转出来的是 *********咯! 期待牛人更好的不限位数的解决