concat ws null值踩坑記錄

2021-10-10 07:19:00 字數 1427 閱讀 9279

處於分頁和效能原因,將批量拼接日誌的操作交到了sql

update t_ntbidderprice

set responsesingleprice = 0,

responsetotalprice = 0,

suggestgoodsremarks = '',

singleprice = ifnull( singleprice, 0 ),

totalprice = ifnull( totalprice, 0 ),

responselog = concat(

ifnull(responselog, ''),

concat_ws(

',',

#,'--',

#,#,

'',';'

))

在使用concat_ws函式時,由於未對null值做替換處理,導致拼接的字串不符合預期,因此記錄一下。

原文出處

如果所有引數均為非二進位制字串,則結果為非二進位制字串。

如果自變數中含有任一二進位制字串,則結果為乙個二進位制字串。

乙個數字引數被轉化為與之相等的二進位制字串格式;若要避免這種情況,可使用顯式型別 cast, 例如:

select concat(cast(int_*** as char), char_col)
mysql的concat函式可以連線乙個或者多個字串,如

mysql> select concat(『my』, 『s』, 『ql』);

-> 『mysql』

mysql> select concat(『my』, null, 『ql』);

-> null

mysql> select concat(14.3);

-> 『14.3』

使用方法:concat_ws(separator,str1,str2,…)

concat_ws() 代表 concat with separator ,是concat()的特殊形式。第乙個引數是其它引數的分隔符。分隔符的位置放在要連線的兩個字串之間。分隔符可以是乙個字串,也可以是其它引數。

注意:如果分隔符為 null,則結果為 null。函式會忽略任何分隔符引數後的 null 值。

如連線後以逗號分隔

mysql> select concat_ws(』,』,『first name』,『second name』,『last name』);

-> 『first name,second name,last name』

mysql> select concat_ws(』,』,『first name』,null,『last name』);

-> 『first name,last name』

mysql concat_ws()不會忽略任何空字串。 (然而會忽略所有的 null)。

vant 步進器值 踩坑記錄

這裡如何讓我的值動態修改呢 1.通過getters 函式獲得 在mounted 可以顯示 在 標籤裡面無法顯示 2.直接獲得ordercount的屬性 值不更新 測試修改值會更新 兩層map 不更新 3.直接弄一層map 試一試 getorderandcount 只是獲取第一次的初值 我後面新增的訂...

記 egret 顏色傳值踩坑

why?記憶體爆了?執行環境問題?nonono!多方追查下發現原因是這個 sptxt egret.textfield sptxt.strokecolor 1.5 可以看到,描邊顏色被設定成了1.5。這樣一看1.5也沒問題啊!但是再看一下egret原始碼中對顏色值的處理方法 轉換數字為顏色字串 par...

MySQL欄位預設值踩坑記錄

由於測試環境 更新到了最新版,但是db結構未更新導致測試環境丟擲大量異常,同步測試環境表結構時執行了以下sql語句 alter table server add column name varchar 50 not null default comment add key idx name name...