class10 建立新的輸出字段

2022-06-27 10:27:09 字數 1364 閱讀 8621

比如:

資料庫中數量的單位是股,如何轉換為手(一手 = 100股)後輸出?如何根據**交易表中的單價\數量,計算出交易金額?

#數量:股轉換成手

select trans_id,stock_name,stock_code,volume/100 from t_stock_trans_dtl;    

#計算交易金額:

select price,volume,price*volume //←這就是交易總價 from t_stock_trans_dtl;    

【注意:】

算數操作符優先順序:*、/ >> +、-

例如:

select a-b*c/d+1 == select a-((b*c)/d)+1

#推薦寫法:

select a-((b*c)/d)+1 // 方便閱讀、消除歧義

【注意算數操作符的結果】:

欄位a(int) = 1

欄位b(int) = 4

select a/b :

#在mysql中返回:0.2500

【注意:】

算數操作符僅支援數值型字段

例如:將**名稱和**組合輸出;形如:按照「洪都航空(sh600316)」進行輸出:

使用拼接操作符加號(+)或兩個斜槓(||)

-- access、sql sever:

select stock_name + '\('+ stock_code +'\)' from t_stock_trans_dtl;

​-- db2、oracle、teradata

select stock_name || '\('|| stock_code ||'\)' from t_stock_trans_dtl;

​-- mysql

select concat(stock_name ,'(', stock_code, ')') from t_stock_trans_dtl;  

-- mysql 利用函式關鍵字: concat 實現字元的拼接;引數之間用逗號(,)分隔開

【拼接操作符僅支援字元型字段!!!】

使用關鍵字:as

為表示式取乙個別名

select concat(stock_name ,'(', stock_code, ')') as name_code

//as(可省略) 後面的別名直接輸入不帶引號,中英文都可,但是不能有分隔符;如果要帶分隔符,在首位加上引號('')

from t_stock_trans_dtl;  

【建議:】

不論中文別名中是否有空格,都用引號引起來

class12 使用函式建立新的輸出字段

定義 函式 根據輸入,按照既定的邏輯返回預期的結果。常見的函式分類 函式分類 示例數值函式 型別轉換函式 絕對值函式 指數函式。文字函式 拼接函式 擷取函式 轉換函式。日期和時間函式 格式化函式 擷取函式 系統日期。ps 不同的資料庫,函式名及引數差別較大。使用時以具體的資料庫說明文件為準。常見數值...

gson改變輸出欄位的順序

以上是一條記錄感測器型別資料的json字串,是用gson快速匯出json字元型別的,現在有乙個需求 將字元順序改變為time,sensortype,floats的順序,在網上查了一下,發現gson並沒有向fastjson那樣改變欄位的用法,但是更改框架又比較麻煩。最後找到了方法 typeadapte...

awk輸出欄位號以及對應的字段

awk輸出欄位號以及對應的字段 root mx32 crontab awk domaindomain name aoje.comalias domain name aoje.comdomain user count 6count 0count diff 0 1 domaindomain 2 name...