电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

sqlserver字符串拼接的實現

瀏覽:147日期:2023-03-06 14:25:48
目錄
  • 1. 概述
  • 2. 數字 + 字符串
    • 2.1 int + varchar
    • 2.2 decimal + varchar
  • 3. 數字 + 數字
    • 4.字符串 + 字符串
      • 5. 使用CAST和CONVERT函數進行類型轉換

        1. 概述

        在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. 數字 + 字符串

        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 時出錯?!?/pre>

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

        3. 數字 + 數字

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

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

        4.字符串 + 字符串

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

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

        5. 使用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"

        到此這篇關于sqlserver字符串拼接的實現的文章就介紹到這了,更多相關sqlserver字符串拼接內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

        標簽: MsSQL
        主站蜘蛛池模板: 筛分机|振动筛分机|气流筛分机|筛分机厂家-新乡市大汉振动机械有限公司 | 船用烟火信号弹-CCS防汛救生圈-船用救生抛绳器(海威救生设备) | pos机办理,智能/扫码/二维码/微信支付宝pos机-北京万汇通宝商贸有限公司 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 挨踢网-大家的导航! | 北京浩云律师事务所-法律顾问_企业法务_律师顾问_公司顾问 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 三轴曲线机-端子插拔力试验机|华杰仪器 | 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | 北京成考网-北京成人高考网 | 馋嘴餐饮网_餐饮加盟店火爆好项目_餐饮连锁品牌加盟指南创业平台 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 硬齿面减速机_厂家-山东安吉富传动设备股份有限公司 | 同步带轮_同步带_同步轮_iHF合发齿轮厂家-深圳市合发齿轮机械有限公司 | 实验室装修_实验室设计_实验室规划设计- 上海广建净化工程公司 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 丁基胶边来料加工,医用活塞边角料加工,异戊二烯橡胶边来料加工-河北盛唐橡胶制品有限公司 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 细砂提取机,隔膜板框泥浆污泥压滤机,螺旋洗砂机设备,轮式洗砂机械,机制砂,圆锥颚式反击式破碎机,振动筛,滚筒筛,喂料机- 上海重睿环保设备有限公司 | 三效蒸发器_多效蒸发器价格_四效三效蒸发器厂家-青岛康景辉 | 膜结构停车棚-自行车棚-膜结构汽车棚加工安装厂家幸福膜结构 | 连续密炼机_双转子连续密炼机_连续式密炼机-南京永睿机械制造有限公司 | 流量检测仪-气密性检测装置-密封性试验仪-东莞市奥图自动化科技有限公司 | 进口试验机价格-进口生物材料试验机-西安卡夫曼测控技术有限公司 | 视频教程导航网_视频教程之家_视频教程大全_最新视频教程分享发布平台 | 好杂志网-首页| 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 济南律师,济南法律咨询,山东法律顾问-山东沃德律师事务所 | 楼梯定制_楼梯设计施工厂家_楼梯扶手安装制作-北京凌步楼梯 | 电力测功机,电涡流测功机,磁粉制动器,南通远辰曳引机测试台 | 集菌仪_智能集菌仪_全封闭集菌仪_无菌检查集菌仪厂家-那艾 | 彼得逊采泥器-定深式采泥器-电动土壤采样器-土壤样品风干机-常州索奥仪器制造有限公司 | 烟气换热器_GGH烟气换热器_空气预热器_高温气气换热器-青岛康景辉 | 上海橡胶接头_弹簧减震器_金属软接头厂家-上海淞江集团 | 顶空进样器-吹扫捕集仪-热脱附仪-二次热解吸仪-北京华盛谱信仪器 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 青岛成人高考_山东成考报名网| 喷砂机厂家_自动除锈抛丸机价格-成都泰盛吉自动化喷砂设备 | 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 |