① sql自動補全數據的語句怎麼寫
Select right('000000'+convert(varchar(10),b),6) as b from a
② SQL 2000中我要將1—10000這個數字左邊增加0數字最後1—10000就是00000001-00010000成8位數。
如果該欄位是數字型的,前面不能加零,除非是字元串型的。
實際上,資料庫中的數據是什麼樣你不用在意,你應當是希望在顯示的時候加零,你可以在讀取資料庫中的該欄位值後做處理再顯示,這樣就簡單了!可以用Format函數實現。
③ sql 不夠七位數 在左側自動補零,怎麼實現
sqlserver:
select right(cast('0000000000'+rtrim(欄位) as varchar(20)),7)
oralce:
select lpad(欄位, 7 , '0') from al
④ sql語句問題 在一組數字前面加一個0
如果該列是char或者varchar類型 直接:
update 表名
set 列名='0'+列名
就可以.
如果該列是數值型,可以用
update 表名
set 列名='0'+ltrim(rtrim(str(列名)))
⑤ sql數據補位
用lapd函數,左補零
用法
select LPAD(100,5,0) from al
100為欄位名,5為補完後的長度,0為補充的字元
⑥ mysql int 與 tinyint 有什麼區別
1.規定類型之後,存儲是定長的,int(1)和int(4)從本身長度還是存儲方式上都是一樣的。mysql里,int(1)和int(4)的區別就是顯示的長度,但是要設置一個參數:如果列制定了zerofill 就會用0填充顯示,如2 int(3)指定後就會顯示為002
2.int 存儲佔4個位元組, tinyint 存儲佔1個位元組,存儲長度決定了他們表示的數字范圍不同。int表示的數字范圍是:從 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型數據(所有數字)。tinyint 表示的范圍是0-255之間的數字。
3.tinyint(1),和tinyint(3)沒什麼區別,存123都能存的下,而如果tinyint(3) zerofill 的話,插入值 12,會存儲012,zerofill自動左邊補零,這才是限制顯示長度。
精簡總結:
tinyint(1) 和 tinyint(3) 沒區別,佔用位元組都是一位,存儲范圍是一樣, 只是顯示不同,實際存儲數據沒區別
tinyint(3) zerofill ,當插入的數據少於3位的時候,左邊自動補零,這才是限制顯示長度
int(1) 和 tinyint(1) ,夠用的情況下,優先選擇tinyint(1),因為佔位元組少、節省空間。
tinyint(一個位元組) , smallint (兩個位元組), MEDIUMINT(三個位元組) int(4個位元組) BIGINT(8個位元組) //這里數據類型決定了其都是阿拉伯數字
但是,varchar(5) 中的5 限制的是儲存字元的個數,字元不分貴賤(即中文、英文、數字...都是一樣)
拓展資料:
計算機編程語言主要包括匯編語言、機器語言以及高級語言,具體內容如下:[2]
匯編語言
該語言主要是以縮寫英文作為標符進行編寫的,運用匯編語言進行編寫的一般都是較為簡練的小程序,其在執行方面較為便利,但匯編語言在程序方面較為冗長,所以具有較高的出錯率。[2]
機器語言
這種語言主要是利用二進制編碼進行指令的發送,能夠被計算機快速地識別,其靈活性相對較高,且執行速度較為可觀,機器語言與匯編語言之間的相似性較高,但由於具有局限性,所以在使用上存在一定的約束性。[2]
高級語言
所謂的高級語言,其實是由多種編程語言結合之後的總稱,其可以對多條指令進行整合,將其變為單條指令完成輸送,其在操作細節指令以及中間過程等方面都得到了適當的簡化,所以,整個程序更為簡便,具有較強的操作性,而這種編碼方式的簡化,使得計算機編程對於相關工作人員的專業水平要求不斷放寬。
參考資料:網路—編程語言
⑦ SQL SERVER自動在前面補0滿足10位請問怎麼寫
咱們來看:
cast('000000000'+convert(int,code)asvarchar(20))
首先:
convert(int,code) :你把code 轉為 int
然後
'000000000'+convert(int,code)我估計sqlserver肯定把表達式作為數字相加了,那麼0000...的相加就沒有作用了。
最後
就不是你要的結果了。
大致應該這樣:
SELECT
right(cast('000000000'+rtrim(code)asvarchar(20)),10),code,
id,pydate,isnull(lzdate,'9999-12-31'),0
FROMzlemployee
⑧ SQL怎樣在固定值後面補0
具體什麼資料庫?
以sqlserver,mysql,oracle各自為例:
sqlserver:
createtabletest
(點名varchar(20));
insertintotestvalues('HS901');
insertintotestvalues('HS9010');
insertintotestvalues('HS9010');
執行:
selectLEFT(點名+'00000000',8)fromtest
結果:
⑨ sql位數不足補0
假設結果值用變數a表示,補位用b表示,需求結果用c表示
if len(a)=1 then
b="000"
elseif len(a)=2 then
b="00"
elseif len(a)=3 then
b="0"
else
b=""
end if
c=b&a