⑴ sql server 保留2位小數,如果整數 後面補0
1、創建測試表,
create table test_num(id number, value number);
⑵ 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填充
這樣:
SELECT
a.dt AS '時間',
ISNULL(b.yield, '0') AS '數據'
FROM
(
SELECT
dateadd(d, number, '2018-11-01') dt
FROM
master..spt_values
WHERE
type = 'p'
AND dateadd(d, number, '2018-11-01') <= '2018-11-30'
) a
LEFT JOIN CE_BD_E_ELECTRIC_WORKSHIFT_T b ON a.dt = b.opdate
(3)sql自動補零擴展閱讀:
注意事項
COALESCE是一個函數, (expression_1, expression_2, …,expression_n)依次參考各參數表達式,遇到非null值即停止並返回該值。如果所有的表達式都是空值,最終將返回一個空值。使用COALESCE在於大部分包含空值的表達式最終將返回空值。
場景一:你想要獲取最大值,然後+1返回(即返回的值已經默認為空了),程序接收了本來不該為空的值去運算,就會出錯。
SELECT MAX(my_money)+1 FROM tb_test;
改進方法:使用 coalesce函數 COALESCE(值1, 值2,......, 值n) ,只要遇到非null值就返回。
這樣子就可以設置一個值,讓你第一個不成功後,返回指定的值,如下面,返回的是1.
SELECT COALESCE(MAX(my_money)+1, 1) FROM tb_test;
⑷ Oracle資料庫,在寫SQL語句時,怎樣將一個數精確到小數點後兩位,並在前面補0,補齊規定的位數
你要減小精度,必須修該的列為空才可以,可以先刪除表數據,再修改。
修改的sql語句如下:
alter
table
emp
modify(sal
number(5,1));
⑸ 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
⑹ sql中如何在插入數時不足位數前加0
你好!
不足位數前加0,位數是幾位啊,我就認為是5位了哦,插入的數據為number
select
right('00000'+convert(varchar,number),5)
希望對你有所幫助,望採納。
⑺ SQL怎樣在固定值後面補0
具體什麼資料庫?
以sqlserver,mysql,oracle各自為例:
sqlserver:
createtabletest
(點名varchar(20));
insertintotestvalues('HS901');
insertintotestvalues('HS9010');
insertintotestvalues('HS9010');
執行:
selectLEFT(點名+'00000000',8)fromtest
結果:
⑻ 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 SERVER自動在後面補0滿足8位數請問怎麼寫
如果是字元串的話,可以通過字元串連接的方式實現,由於SQL Server沒有Oracle的lpad和rpad函數,可以使用REPLICATE函數代替
column_name+replicate('0',8-column_name.len()); 缺多少位就補上多少位,