SQL 拼接字串

2021-07-02 15:53:27 字數 1739 閱讀 2061

寫sql的時候有時候用到需要拼接多個字段或者在查詢出結果的字段裡加入一部分固定的字串。

方法一:

在查詢到的結果後,用**去拼接。這種方法就不在贅述。

方法二:使用資料庫提供的方法concat(a,b)

oracle 中concat(a,b)只能有兩個引數,如果concat中連線的值不是字串,那麼oracle會嘗試將其轉化為字串。

舉例:select concat(classname,name) from student

>>> 一班張三

二班李四

select concat(classname,name) from student
>>> 一班張三

二班李四

可以使用巢狀方法進行多個引數拼接:

舉例:select concat(concat(gradename,classname),name)

>>>一年級一班張三

一年級二班李四

select concat(concat(

classname,'-'

),name)

>>>一班-張三

一班-李四

可以引數為null:

舉例:select concat('11',null) from student;

但是不可以不寫:

舉例:select concat('11',) from student;---錯誤例子。

mysql資料庫中concat方法可以有多個引數。引數型別可以不是字串,mysql會嘗試將其轉化為字串。

兩個引數的例子與oracle的一樣,這裡舉例多個字串拼接

舉例:select concat(classname,'-',name) from student

>>> 一班-張三

二班-李四

mysql的另外乙個方法concat_ws

concat_ws可以在待拼接的字串中加入通用分隔符,第乙個引數為分隔符,以後的引數為拼接的字串。

舉例:select concat_ws('-',gridename,classname,name) from student

>>> 一年級-一班-張三

一年級-二班-李四

方法三:使用 符號

oracle 可以使用 || 符號拼接字串

舉例:select classname||'-'||name from student

>>> 一班-張三

二班-李四

mysql中使用+時,mysql會嘗試將值轉化為數字進行相加,如果不能轉化則認為值為0。所以+不能用來拼接字串

舉例:select '11'+'22'from student

>>> 33

舉例:select 'abc'+'22'from student

>>> 22

sql字串拼接

oracle 使用 或者concat sql select aaa bbb from dual aaa bbb aaabbb sql select concat aaa ccc from dual concat aaa aaaccc mysql中,使用 如果字串全是數字則轉化為數字,否則轉換為0,也...

sql字串拼接

在sql語句中經常需要進行字串拼接,以sqlserver,oracle,mysql三種資料庫為例,因為這三種資料庫具有代表性。sqlserver select 123 456 oracle select 123 456 from dual 或select concat 123 456 from du...

SQL字串拼接

不同資料庫連線字串的方法不完全相同 一 mysql字串拼接 1 concat函式 語法格式 concat char c1,char c2,char cn 其中char代表字串,定長與不定長均可以 1.1 連線兩個字串 1.2 連線多個字串 2 操作符 2.1 連線兩個字串 2.2 連線多個字串 3 ...