久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

SQL中字符串拼接的示例分析

136次閱讀
沒有評論

共計 1868 個字符,預計需要花費 5 分鐘才能閱讀完成。

這篇文章主要為大家展示了“SQL 中字符串拼接的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領大家一起研究并學習一下“SQL 中字符串拼接的示例分析”這篇文章吧。

一、概述

相信大家在日常開發中,在 SQL 語句中經常需要進行字符串拼接,以 sqlserver,oracle,mysql 三種數據庫為例,因為這三種數據庫具有代表性。

sqlserver:

select  123 + 456

oracle:

select  123 || 456  from dual;

select concat(123 , 456) from dual;

mysql:

select concat(123 , 456

注意:SQL Server 中沒有 concat 函數(SQL Server 2012 已新增 concat 函數)。oracle 和 mysql 中雖然都有 concat,但是 oracle 中只能拼接 2 個字符串,所以建議用 || 的方式;mysql 中的 concat 則可以拼接多個字符串。

在 SQL Server 中的“+”號除了能夠進行字符串拼接外,還可以進行數字運算,在進行字符串拼接時要小心使用。下面以“Users”表為例,進行詳細分析:

二、數字 + 字符串

2.1 int + varchar

SELECT id + place FROM Users WHERE id = 1; // 提示錯誤“在將  varchar  值   bzz   轉換成數據類型  int  時失敗”SELECT id + place FROM Users WHERE id = 5; // 提示錯誤“在將  varchar  值   102.34   轉換成數據類型  int  時失敗”
SELECT id + place FROM Users WHERE id = 4; // 返回 int “105”

2.2 decimal + varchar

SELECT *, id + cost FROM Users WHERE id = 4 OR id = 5; // 返回 decimal “102.98”和“104.30”
SELECT *, place + cost FROM Users WHERE id = 1; // 提示錯誤“從數據類型  varchar  轉換為  numeric  時出錯。”

由此可見,系統會將字符串 varchar 類型轉化為 int,若不能轉換則提示錯誤,轉換成功則進行數字計算。

三、數字 + 數字

數字指的是 int、decimal 等類型。數字 +  數字,則進行數字相加,若某字段為 NULL,則計算結果為 NULL。

SELECT *, uage + cost AS  uage + cost  FROM Users

四、字符串 + 字符串

字符串 + 字符串,則直接進行拼接。若某字段為 NULL,則計算結果為 NULL。

SELECT *, uname + place AS  uname + place  FROM Users

五、使用 CAST 和 CONVERT 函數進行類型轉換

通過上述實例,可以看出若要使用“+”進行字符串拼接或數字計算,最穩妥的方法是進行類型轉換。

CAST() 函數可以將某種數據類型的表達式轉化為另一種數據類型

CONVERT() 函數也可以將制定的數據類型轉換為另一種數據類型

要求:將“678”轉化為數值型數據,并與 123 相加進行數學運算。

SELECT CAST(678  AS INT) + 123;
SELECT CONVERT(INT,  678) + 123;

要求:id 列和 place 列進行字符串拼接。

SELECT *, CONVERT(varchar(10), id) + place FROM Users;

字符串拼接后的字符串不能簡單作為“篩選字段”

有時,需要列 A = 變量 1,列 B = 變量 2 的篩選,為了簡化 SQL 語句 列 A + 列 B = 變量 1 + 變量 2。這種方法并不完全準確

SELECT * FROM Users WHERE uname + place =  aabzz

SELECT * FROM Users WHERE uname =  aa  AND place =  bzz

為了防止上述情況的發生,可以再列 A 和列 B 之間加上一個較特殊的字符串。

SELECT * FROM Users WHERE uname +  rain@ %$man  + place =  aa  +  rain@ %$man  +  bzz

以上是“SQL 中字符串拼接的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計1868字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 榆树市| 泽库县| 富平县| 应用必备| 高密市| 安陆市| 黄浦区| 苏尼特左旗| 犍为县| 新化县| 马鞍山市| 宜兰市| 方城县| 灵石县| 嘉鱼县| 云林县| 老河口市| 游戏| 邹城市| 铜梁县| 珲春市| 高安市| 咸阳市| 玉树县| 霍林郭勒市| 郸城县| 连平县| 石门县| 山东省| 砀山县| 五家渠市| 文化| 师宗县| 清丰县| 乡宁县| 夏津县| 西乌| 曲阜市| 志丹县| 侯马市| 莆田市|