1、Q3Q4int)test2,1000,2000,4000,5000),3000,3500,4200,5500)test2-列转行id,name,quarter,profileunpivotprofile(Q1,Q2,Q3,Q4)unpvtsql替换字符串 substring replace-例子1:updatetbPersonalInfosetTrueName=replace(TrueName,substring(TrueName,2,4),*whereID1-例子2:Mobilereplace(Mobile,substring(Mobile,4,11),*-例子3:Emailreplace(
2、Email,chinamobile,*1SQL查询一个表内相同纪录 having如果一个ID可以区分的话,可以这么写表ingroupbyhavingsum(1)1)如果几个ID才能区分的话,可以这么写ID1+ID2+ID3(selectID1,ID2,ID3其他回答:数据表是zy_bho,想找出ZYH字段名相同的记录-方法1:SELECT*FROMzy_bhoaWHEREEXISTS(SELECTFROMPKa.PKANDZYHa.ZYH)-方法2:a.*joinbon(a.pk1)-其中pk是主键或是unique的字段。把多行SQL数据变成一条多列数据,即新增列SelectDeptName=
3、O.OUName,9G=Sum(CaseWhenPersonalGrade=9ThenElse0End),8GPersonalGrade=87G4PersonalGrade=7JobGrade=47G3=36GPersonalGrade=65G3PersonalGrade=55G2=24GPersonalGrade=43G2PersonalGrade=33G1=12GPersonalGrade=21GPersonalGrade=1-未定级PersonalGrade=NULLEnd)表复制PhoneChange_Num(IMSI,Num)IMSI,count(IMEI)numTest.dbo.P
4、honeChangeIMSIordernumdesc语法1:Insert INTO table(field1,field2,.) values(value1,value2,.)语法2:Insert into Table2(field1,field2,.) select value1,value2,. from Table1(要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。语法3:SELECT vale1, value2 into Table2 from Table1(要求目标表Table2不存在,因为在插入时会自动创建表
5、Table2,并将Table1中指定字段数据复制到Table2中。语法4:使用导入导出功能进行全表复制。如果是使用【编写查询以指定要传输的数据】,那么在大数据表的复制就会有问题?因为复制到一定程度就不再动了,内存爆了?它也没有写入到表中。而使用上面3种语法直接执行是会马上刷新到数据库表中的,你刷新一下mdf文件就知道了。 利用带关联子查询Update语句更新数据UpdateTable1cTable2Table1.a)isnullAnewqiantity=B.qiantityA,BA.bnum=B.bnumupdateA.bnum,A.newqiantity,B.qiantityAleftBA.
6、bnum=B.bnum)ASCC.newqiantityC.qiantityC.bnum=XX连接远程服务器openrowset(SQLOLEDBserver=192.168.0.67;uid=sa;pwd=passwordBCM2.dbo.tbAppl192.168.0.67;sapasswordDate 和 Time 样式不带世纪数位 (yy) (1) 带世纪数位 (yyyy) 标准 输入/输出 (3) -0 或 100 (1,2)默 认mon dd yyyy hh:miAM(或 PM)101美 国mm/dd/yyyy2102ANSIyy.mm.dd3103英 国/法国dd/mm/yyyy
7、4104德 国dd.mm.yy5105意 大利dd-mm-yy6106(1)dd mon yy7107(1)mon dd, yy8108hh:mi:ss9 或 109 (1,2)默 认设置 + 毫秒ss:mmmAM(或 PM)10110mm-dd-yy11111日 本yy/mm/dd12112ISOyymmddyyyymmdd13 或 113 (1,2)欧 洲默认设置 + 毫秒dd mon yyyy hh:mmm(24h)1411420 或 120 (2)ODBC 规范yyyy-mm-dd hh:ss(24h)21 或 121 (2)ODBC 规范(带毫秒)ss.mmm(24h)126 (4)
8、ISO8601yyyy- mm-ddThh:ss.mmm(无空格)127(6, 7)带时区 Z 的 ISO8601。yyyy-mm-ddThh:ss.mmmZ(无 空格)130 (1,2)回历 (5)mmmAM131 (2)dd/mm/yy hh:-语句及查询结果:CONVERT(varchar(100),GETDATE(),0):0516200610:57AM1):05/16/062):06.05.163):16/05/064):16.05.065):16-05-066):067):16,8):57:469):46:827AM10):05-16-0611):06/05/1612):06051
9、613):93714):96720):2006-05-164721):47.15722):05/16/0647AM23):2006-05-1624):25):47.250100):101):05/16/2006102):2006.05.16103):16/05/2006104):16.05.2006105):16-05-2006106):2006107):108):49109):49:437AM110):05-16-2006111):2006/05/16112):20060516113):513114):547120):121):对上面进行动态生成字符串:declaresql1nvarchar
10、(200),sql2nvarchar(200)countnvarchar(100);0)sql2execsp_executesqlsql2,Nnvarchar(50)out,countoutprint+:+count-SQLServer仅保证往返转换(即从原始数据类型进行转换后又返回原始数据类型的转换)在各版本间产生相同值。DECLAREmyvaldecimal(5,2)SET193.57CAST(CAST(myvalvarbinary(20)decimal(10,5)-Or,usingCONVERTCONVERT(decimal(10,5),CONVERT(varbinary(20),myval)-输出193.57000-bigint数据类型的字段截取(其它类型也一样)substring(CONVERT(varchar(15),字段名),11,9)表名substring(cast(字段名varchar(50),6,9)SQL中的相除-SQL中的相除CASEWHENISNULL(A+B,0)1重复。如果indid=255,rows设置为0。当表没有聚簇索引时,Indid否则为1。rows,indidsysindexesidobject_id(tablenameindid
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1