sql server 补齐0学习总结
生活随笔
收集整理的這篇文章主要介紹了
sql server 补齐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
復制代碼
效果如下:
http://www.cnblogs.com/songxingzhu/p/4151184.html
========
SQL SERVER自動在前面補0滿足10位怎么寫
SELECT?right(cast('000000000'+convert(int,code)as varchar(20)),10),code,
id,pydate,isnull(lzdate,'9999-12-31'),0?
? ?FROM zlemployee ?
工號的類型是INT的,請問為什么用ID就可以呢?為什么用CODE就不行了?
已經搞定了,一定在臨時表中char轉int,不能直接轉
咱們來看:
1
cast('000000000'+convert(int,code)as varchar(20))
首先:
convert(int,code) :你把code 轉為 int
然后
'000000000'+convert(int,code)我估計sqlserver肯定把表達式作為數字相加了,那么0000...的相加就沒有作用了。
最后
就不是你要的結果了。
大致應該這樣:
1
2
3
4
SELECT?
right(cast('000000000'+rtrim(code) as varchar(20)),10),code,
id,pydate,isnull(lzdate,'9999-12-31'),0?
? ?FROM zlemployee
========
請教,我想將一個字段值在SQL語句中,自動補齊位數,是否可以做到,有這樣的函數么?
比如為 3時,
select 的結果是 '003',
為333時,結果就是 '333'
這樣在sql里,能否直接做到呢??
update 表 set 字段 = right('000' + cast(字段 as varchar),3)
select right('000' + cast(col as varchar(10),3) as col from [table]
========
SQL語句 不足位數補0
select RIGHT('0000'+CAST( '123' ?AS nvarchar(50)),4) DWBH公式 RIGHT('位數'+CAST(要判斷的字段 AS nvarchar(50)),位數 )
http://www.cnblogs.com/zhuxiaohui/archive/2013/06/02/3114465.html
========
sql server 左補齊0
http://my.oschina.net/ind
select RIGHT('00000'+'1',5)
問題:需要格式為00001、00002、00003、00004 ... 00010 ... 00100 ...
思路:用5個長度的00000,去拼接后面自增的數字(必須轉為字符),然后從右側開始截取5個長度。
========
Oracle和SQLServer補齊字符串的方法
Oracle:Lpad函數
[sql] view plain copy
語法格式如下: ?
lpad( string, padded_length, [ pad_string ] ) ?
string ?
準備被填充的字符串; ?
padded_length ?
填充之后的字符串長度,也就是該函數返回的字符串長度,如果這個數量比原字符串的長度要短,lpad函數將會把字符串截取成從左到右的n個字符; ?
pad_string ?
填充字符串,是個可選參數,這個字符串是要粘貼到string的左邊,如果這個參數未寫,lpad函數將會在string的左邊粘貼空格。 ?
實例:
[sql] view plain copy
select lpad(22,10,'0') from dual; ?
結果: ?
??
1 ? 0000000022 ?
SQLServer:right函數
語法
Right(string, length)
Right 函數的語法具有下面的命名參數:
部分 說明
string 必要參數。字符串表達式,從中最右邊的字符將被返回。如果 string 包含 Null,將返回 Null。
length 必要參數;為 Variant (Long)。為數值表達式,指出想返回多少字符。如果為 0,返回零長度字符串 ("")。如果大于或等于 string 的字符數,則返回整個字符串。 示例:
right(replicate('0',10)+ltrim(參數),10)
======== 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的sql server 补齐0学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle批处理脚本学习总结
- 下一篇: sql server 语句自动补齐