网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

T-SQL语法大全

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

【网学网提醒】:网学会员鉴于大家对十分关注,论文会员在此为大家搜集整理了“T-SQL语法大全”一文,供大家参考学习


    T-SQL语法大全
    SELECTINSERTDELETEUPDATE--数据定义CREATETABLEDROPTABLEALTERTABLECREATEVIEWDROPVIEWCREATEINDEXDROPINDEX--创建一个数据库表--从数据库中删除表--修改数据库表结构--创建一个视图--从数据库中删除视图--为数据库表创建一个索引--从数据库中删除索引--创建一个存储过程--从数据库中删除存储过程--创建一个触发器--从数据库中删除触发器--向数据库添加一个新模式--从数据库中删除一个模式--创建一个数据值域--改变域定义--从数据库中删除一个域--从数据库表中检索数据行和列--向数据库表添加新数据行--从数据库表中删除数据行--更新数据库表中的数据
    CREATEPROCEDUREDROPPROCEDURECREATETRIGGERDROPTRIGGERCREATESCHEMADROPSCHEMACREATEDOMAINALTERDOMAINDROPDOMAIN--数据控制GRANTDENYREVOKE--事务控制COMMITROLLBACK--程序化SQLDECLAREEXPLANOPENFETCHCLOSEPREPAREEXECUTEDESCRIBE---局部变量declare@idchar(10)
    --授予用户访问权限--拒绝用户访问--解除用户访问权限--结束当前事务--中止当前事务--定义当前事务数据访问特征
    SETTRANSACTION
    --为查询设定游标--为查询描述数据访问计划--检索查询结果打开一个游标--检索一行查询结果--关闭游标--为动态执行准备SQL语句--动态地执行SQL语句--描述准备好的查询
    --set@id='10010001'select@id='10010001'
    ---全局变量
    ---必须以@@开头
    --IFELSE
    declare@xint@yint@zint
    select@x=1@y=2@z=3
    if@x>@y
    print'x>y'--打印字符串'x>y'
    elseif@y>@z
    print'y>z'
    elseprint'z>y'
    --CASE
    usepangu
    updateemployee
    sete_wage=
    case
    whenjob_level=’1’thene_wage*1.08
    whenjob_level=’2’thene_wage*1.07
    whenjob_level=’3’thene_wage*1.06
    elsee_wage*1.05
    end
    --WHILECONTINUEBREAK
    declare@xint@yint@cint
    select@x=1@y=1
    while@x<3
    begin
    print@x--打印变量x的值
    while@y<3
    begin
    select@c=+@y
    print@c--打印变量c的值
    select@y=@y+1
    end
    select@x=@x+1
    select@y=1
    end
    --WAITFOR
    --例等待1小时2分零3秒后才执行SELECT语句
    waitfordelay’01:02:03’
    select*fromemployee
    --例等到晚上11点零8分后才执行SELECT语句
    waitfortime’23:08:00’
    select*fromemployee
    ***SELECT***
    select*(列名)fromtable_name(表名)wherecolumn_nameoperatorvalue
    ex:(宿主)
    select*fromstock_informationwherestockidstockname='str_name'
    stocknamelike'%findthis%'
    stocknamelike'[a-zA-Z]%'---------([]指定值的范围)
    stocknamelike'[^F-M]%'orstockpath='stock_path'
    orstocknumber<1000
    andstockindex=24
    notstocksex='man'
    stocknumberbetween20and100
    stocknumberin(10,20,30)
    orderbystockiddesc(asc)---------排序,desc-降序,asc-升序
    orderby1,2---------by列号
    stockname=(selectstocknamefromstock_informationwherestockid=4)
    ---------子查询
    ---------除非能确保内层select只返回一个行的值,
    ---------否则应在外层where子句中用一个in限定符
    selectdistinctcolumn_nameformtable_name---------distinct指定检索独有的列值,不重复
    selectstocknumber,"stocknumber+10"=stocknumber+10fromtable_name
    selectstockname,"stocknumber"=count(*)fromtable_namegroupbystockname
    ---------groupby将表按行分组,指定列中有相同的值
    havingcount(*)=2---------having选定指定的组
    select*
    fromtable1,table2
    wheretable1.id*=table2.id--------左外部连接,table1中有的而table2中没有得以null表示
    table1.id=*table2.id--------右外部连接
    selectstocknamefromtable1
    union[all]-----union合并查询结果集,all-保留重复行
    selectstocknamefromtable2
    ***insert***
    insertintotable_name(Stock_name,Stock_number)value("xxx","xxxx")
    value(selectStockname,StocknumberfromStock_table2)---value为select语句
    ***update***
    updatetable_namesetStockname="xxx"[whereStockid=3]
    Stockname=default
    ---------(^排除指定范围)
    ---------只能在使用like关键字的where子句中使用通配符)
    =str(nid)
    Stockname=null
    Stocknumber=Stockname+4
    ***delete***
    deletefromtable_namewhereStockid=3
    truncatetable_name-----------删除表中所有行,仍保持表的完整性
    droptabletable_name---------------完全删除表
    ***altertable***---修改数据库表结构
    altertabledatabase.owner.table_nameaddcolumn_namechar(2)null.....
    sp_helptable_name----显示表已有特征
    createtabletable_name(namechar(20),agesmallint,lnamevarchar(30))
    insertintotable_nameselect.........-----实现删除列的方法(创建新表)
    altertabletable_namedropconstraintStockname_default----删除Stockname的default约束
    ***function(/*常用函数*/)***
    ----统计函数----
    AVGCOUNTMAXMINSUM--AVG
    usepangu
    selectavg(e_wage)asdept_avgWage
    fromemployee
    groupbydept_id
    --MAX
    --求工资最高的员工
    usepangu
    selecte_name
    fromemployee
    wheree_wage=
    (selectmax(e_wage)
    fromemployee)
    --STDEV()
    --STDEV()函数返回表达式中所有数据的标准差
    --STDEVP()
    --STDEVP()函数返回总体标准差
    --VAR()
    --VAR()函数返回表达式中所有值的统计变异数
    --VARP()
    --VARP()函数返回总体变异数
    --求平均值
    --统计数目
    --求最大值
    --求最小值
    --求和
    ----算术函数----/***三角函数***/SIN(float_expression)--返回以弧度表示的角的正弦COS(float_expression)--返回以弧度表示的角的余弦TAN(float_expression)--返回以弧度表示的角的正切COT(float_expression)--返回以弧度表示的角的余切/***反三角函数***/ASIN(float_expression)--返回正弦是FLOAT值的以弧度表示的角ACOS(float_expression)--返回余弦是FLOAT值的以弧度表示的角ATAN(float_expression)--返回正切是FLOAT值的以弧度表示的角ATAN2(float_expression1,float_expression2)--返回正切是float_expression1/float_expres-sion2的以弧度表示的角DEGREES(numeric_expression)--把弧度转换为角度返回与表达式相同的数据类型可为--INTEGER/MONEY/REAL/FLOAT类型RADIANS(numeric_expression)--把角度转换为弧度返回与表达式相同的数据类型可为--INTEGER/MONEY/REAL/FLOAT类型EXP(float_expression)--返回表达式的指数值LOG(float_expression)--返回表达式的自然对数值LOG10(float_expression)--返回表达式的以10为底的对数值SQRT(float_expression)--返回表达式的平方根/***取近似值函数***/CEILING(numeric_expression)--返回>=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT类型FLOOR(numeric_expression)ROUND(numeric_expression)ABS(numeric_expression)SIGN(numeric_expression)PI()数--返回<=表达式的最小整数返回的数据类型与表达式相同可为--返回以integer_expression为精度的四舍五入值返回的数据--返回表达式的绝对值返回的数据类型与表达式相同可为--测试参数的正负号返回0零值1正数或-1负数返回的数据类型--INTEGER/MONEY/REAL/FLOAT类型--类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT类型--INTEGER/MONEY/REAL/FLOAT类型--与表达式相同可为INTEGER/MONEY/REAL/FLOAT类型--返回值为π即3.1415926535897936--用任选的[integer_expression]做种子值得出0-1间的随机浮点RAND([integer_expression])
    ----字符串函数----ASCII()CHAR()LOWER()UPPER()STR()LTRIM()--函数返回字符表达式最左端字符的ASCII码值--函数用于将ASCII码转换为字符--函数把字符串全部转换为小写--函数把字符串全部转换为大写--函数把字符串头部的空格去掉
    --如果没有输入0~255之间的ASCII码值CHAR函数会返回一个NULL值
    --函数把数值型数据转换为字符型数据
    RTRIM()--函数把字符串尾部的空格去掉
    LEFT(),RIGHT(),SUBSTRING()--函数返回部分字符串CHARINDEX(),PATINDEX()--函数返回字符串中某个指定的子串出现的开始位置SOUNDEX()--函数返回一个四位字符码--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0值DIFFERENCE()--函数返回由SOUNDEX函数返回的两个字符表达式的值的差异--0两个SOUNDEX函数返回值的第一个字符不同--1两个SOUNDEX函数返回值的第一个字符相同--2两个SOUNDEX函数返回值的第一二个字符相同--3两个SOUNDEX函数返回值的第一二三个字符相同--4两个SOUNDEX函数返回值完全相同
    QUOTENAME()--函数返回被特定字符括起来的字符串/*selectquotename('abc','{')quotename('abc')运行结果如下----------------------------------{{abc}[abc]*/REPLICATE()运行结果如下----------------------abcabcabcNULL*/REVERSE()REPLACE()运行结果如下----------------------abcdefg*/SPACE()STUFF()--函数返回一个有指定长度的空白字符串--函数用另一子串替换字符串指定位置长度的子串--函数将指定的字符串的字符排列顺序颠倒--函数返回被替换了指定子串的字符串--函数返回一个重复character_expression指定次数的字符串
    /*selectreplicate('abc',3)replicate('abc',-2)
    /*selectreplace('abc123g','123','def')
    ----数据类型转换函数----CAST()函数语法如下CAST()(AS[length])CONVERT()函数语法如下CONVERT()([length],[,style])selectcast(100+99aschar)convert(varchar(12),getdate())运行结果如下------------------------------------------199Jan152000
    ----日期函数----DAY()--函数返回date_expression中的日期值--函数返回date_expression中的月份值MONTH()
    YEAR()--函数返回date_expression中的年份值
    DATEADD(,,)--函数返回指定日期date加上指定的额外日期间隔number产生的新日期DATEDIFF(,,)--函数返回两个指定日期在datepart方面的不同之处DATENAME(,)--函数以字符串的形式返回日期的指定部分DATEPART(,)--函数以整数值的形式返回日期的指定部分GETDATE()--函数以DATETIME的缺省格式返回系统当前的日期和时间----系统函数----APP_NAME()--函数返回当前执行的应用程序的名称COALESCE()--函数返回众多表达式中第一个非NULL表达式的值COL_LENGTH(<'table_name'>,<'column_name'>)--函数返回表中指定字段的长度值COL_NAME(,)--函数返回表中指定字段的名称即列名DATALENGTH()--函数返回数据表达式的数据的实际长度DB_ID(['database_name'])--函数返回数据库的编号DB_NAME(database_id)--函数返回数据库的名称HOST_ID()HOST_NAME()--函数返回服务器端计算机的名称--函数返回服务器端计算机的名称
    IDENTITY([,seedincrement])[AScolumn_name])--IDENTITY()函数只在SELECTINTO语句中使用用于插入一个identitycolumn列到新表中/*selectidentity(int,1,1)ascolumn_nameintonewtablefromoldtable*/ISDATE()--函数判断所给定的表达式是否为合理日期ISNULL(,)--函数将表达式中的NULL值用指定值替换ISNUMERIC()--函数判断所给定的表达式是否为合理的数值NEWID()--函数返回一个UNIQUEIDENTIFIER类型的数值NULLIF(,)--NULLIF函数在expression1与expression2相等时返回NULL值若不相等时则返回expression1的值
    ====精妙SQL语句====说明:复制表(只复制结构,源表名:a新表名:b)SQL:select*intobfromawhere1<>1说明:拷贝表(拷贝数据,源表名:a目标表名:b)SQL:insertintob(a,b,c)selectd,e,ffromb;说明:显示文章、提交人和最后回复时间SQL:selecta.title,a.username,b.adddatefromtablea,(selectmax(adddate)adddatefromtablewheretable.title=a.title)b说明:外连接查询(表名1:a表名2:b)SQL:selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINbONa.a=b.c
    说明:日程安排提前五分钟提醒SQL:select*from日程安排wheredatediff('minute',f开始时间,getdate())>5说明:两张关联表,删除主表中已经在副表中没有的信息SQL:deletefrominfowherenotexists(select*frominfobzwhereinfo.infid=infobz.infid)
    ---------数学函数1.绝对值S:selectabs(-1)valueO:selectabs(-1)valuefromdual2.取整(大)S:selectceiling(-1.001)valueO:selectceil(-1.001)valuefromdual3.取整(小)S:selectfloor(-1.001)valueO:selectfloor(-1.001)valuefromdual4.取整(截取)S:selectcast(-1.002asint)valueO:selecttrunc(-1.002)valuefromdual5.四舍五入S:selectround(1.23456,4)value1.23460O:selectround(1.23456,4)valuefromdual1.23466.e为底的幂S:selectExp(1)value2.7182818284590451O:selectExp(1)valuefromdual2.718281827.取e为底的对数S:selectlog(2.7182818284590451)value1O:selectln(2.7182818284590451)valuefromdual;18.取10为底对数S:selectlog10(10)value1O:selectlog(10,10)valuefromdual;19.取平方S:selectSQUARE(4)value16O:selectpower(4,2)valuefromdual1610.取平方根S:selectSQRT(4)value2O:selectSQRT(4)valuefromdual211.求任意数为底的幂S:selectpower(3,4)value81O:selectpower(3,4)valuefromdual81
    12.取随机数
    S:selectrand()value
    O:selectsys.dbms_random.value(0,1)valuefromdual;
    13.取符号
    S:selectsign(-8)value-1
    O:selectsign(-8)valuefromdual-1
    ----------数学函数
    14.圆周率
    S:SELECTPI()value3.1415926535897931
    O:不知道
    15.sin,cos,tan参数都以弧度为单位
    例如:selectsin(PI()/2)value得到1(SQLServer)
    16.Asin,Acos,Atan,Atan2返回弧度
    17.弧度角度互换(SQLServer,Oracle不知道)
    DEGREES:弧度-〉角度
    RADIANS:角度-〉弧度
    ---------数值间比较
    18.求集合最大值
    S:selectmax(value)valuefrom
    (select1value
    union
    select-2value
    union
    select4value
    union
    select3value)a
    O:selectgreatest(1,-2,4,3)valuefromdual
    19.求集合最小值
    S:selectmin(value)valuefrom
    (select1value
    union
    select-2value
    union
    select4value
    union
    select3value)a
    O:selectleast(1,-2,4,3)valuefromdual
    20.如何处理null值(F2中的null以10代替)
    S:selectF1,IsNull(F2,10)valuefromTbl
    O:selectF1,nvl(F2,10)valuefromTbl
    --------数值间比较
    21.求字符序号
    S:selectascii('a')value
    O:selectascii('a')valuefromdual
    22.从序号求字符
    S:selectchar(97)value
    O:selectchr(97)valuefromdual
    23.连接
    S:select'11'+'22'+'33'value
    O:selectCONCAT('11','22')||33valuefromdual
    23.子串位置--返回3
    S:selectCHARINDEX('s','sdsq',2)value
    O:selectINSTR('sdsq','s',2)valuefromdual
    23.模糊子串的位置--返回2,参数去掉中间%则返回7
    S:selectpatindex('%d%q%','sdsfasdqe')value
    O:oracle没发现,但是instr可以通过第四霾问刂瞥鱿执问?BR>selectINSTR('sdsfasdqe','sd',1,2)valuefromdual返回6
    24.求子串
    S:selectsubstring('abcd',2,2)value
    O:selectsubstr('abcd',2,2)valuefromdual
    25.子串代替返回aijklmnef
    S:SELECTSTUFF('abcdef',2,3,'ijklmn')value
    O:SELECTReplace('abcdef','bcd','ijklmn')valuefromdual
    26.子串全部替换
    S:没发现
    O:selectTranslate('fasdbfasegas','fa','我')valuefromdual
    27.长度
    S:len,datalength
    O:length
    28.大小写转换lower,upper
    29.单词首字母大写
    S:没发现
    O:selectINITCAP('abcddsafdf')valuefromdual
    30.左补空格(LPAD的第一个参数为空格则同space函数)
    S:selectspace(10)+'abcd'value
    O:selectLPAD('abcd',14)valuefromdual
    31.右补空格(RPAD的第一个参数为空格则同space函数)
    S:select'abcd'+space(10)value
    O:selectRPAD('abcd',14)valuefromdual
    32.删除空格
    S:ltrim,rtrim
    O:ltrim,rtrim,trim
    33.重复字符串
    S:selectREPLICATE('abcd',2)value
    O:没发现
    34.发音相似性比较(这两个单词返回值一样,发音相同)
    S:SELECTSOUNDEX('Smith'),SOUNDEX('Smythe')
    O:SELECTSOUNDEX('Smith'),SOUNDEX('Smythe')fromdual
    SQLServer中用SELECTDIFFERENCE('Smithers','Smythers')比较soundex的差
    返回0-4,4为同音,1最高
    --------------日期函数
    35.系统时间
    S:selectgetdate()value
    O:selectsysdatevaluefromdual
    36.前后几日
    直接与整数相加减
    37.求日期
    S:selectconvert(char(10),getdate(),20)value
    O:selecttrunc(sysdate)valuefromdual
    selectto_char(sysdate,'yyyy-mm-dd')valuefromdual
    38.求时间
    S:selectconvert(char(8),getdate(),108)value
    O:selectto_char(sysdate,'hh24:mm:ss')valuefromdual
    39.取日期时间的其他部分
    S:DATEPART和DATENAME函数(第一个参数决定)
    O:to_char函数第二个参数决定
    参数---------------------------------下表需要补充
    yearyy,yyyy
    quarterqq,q(季度)
    monthmm,m(mO无效)
    dayofyeardy,y(O表星期)
    daydd,d(dO无效)
    weekwk,ww(wkO无效)
    weekdaydw(O不清楚)
    Hourhh,hh12,hh24(hh12,hh24S无效)
    minutemi,n(nO无效)
    secondss,s(sO无效)
    millisecondms(O无效)
    ----------------------------------------------
    40.当月最后一天
    S:不知道
    O:selectLAST_DAY(sysdate)valuefromdual
    41.本星期的某一天(比如星期日)S:不知道O:SELECTNext_day(sysdate,7)vauleFROMDUAL;42.字符串转时间S:可以直接转或者selectcast('2004-09-08'asdatetime)valueO:SELECTTo_date('2004-01-0522:09:38','yyyy-mm-ddhh24-mi-ss')vauleFROMDUAL;43.求两日期某一部分的差(比如秒)S:selectdatediff(ss,getdate(),getdate()+12.3)valueO:直接用两个日期相减(比如d1-d2=12.3)SELECT(d1-d2)*24*60*60vauleFROMDUAL;44.根据差值求新的日期(比如分钟)S:selectdateadd(mi,8,getdate())valueO:SELECTsysdate+8/60/24vauleFROMDUAL;45.求不同时区时间S:不知道O:SELECTNew_time(sysdate,'ydt','gmt')vauleFROMDUAL;-----时区参数,北京在东8区应该是Ydt-------ASTADT大西洋标准时间BSTBDT白令海标准时间CSTCDT中部标准时间ESTEDT东部标准时间GMT格林尼治标准时间HSTHDT阿拉斯加—夏威夷标准时间MSTMDT山区标准时间NST纽芬兰标准时间PSTPDT太平洋标准时间YSTYDTYUKON标准时间sql中的保留字
    actionaddaggregateallalterafterandasascavgavg_row_lengthauto_incrementbetweenbigintbitbinaryblobboolbothbycascadecasecharcharacterchangecheckchecksumcolumncolumnscommentconstraintcreatecrosscurrent_datecurrent_timecurrent_timestampdatadatabasedatabasesdatedatetimedayday_hourday_minuteday_seconddayofmonthdayofweekdayofyear
    decdecimaldefaultdelayed
    delay_key_writedeletedescdescribe
    distinctdistinctrowdoubledrop
    endelseescapeescaped
    enclosedenumexplainexists
    fieldsfilefirstfloat
    float4float8flushforeign
    fromforfullfunction
    globalgrantgrantsgroup
    havingheaphigh_priorityhour
    hour_minutehour_secondhostsidentified
    ignoreinindexinfile
    innerinsertinsert_idint
    integerintervalint1int2
    int3int4int8into
    ifisisamjoin
    keykeyskilllast_insert_id
    leadingleftlengthlike
    lineslimitloadlocal
    locklogslonglongblob
    longtextlow_prioritymaxmax_rows
    matchmediumblobmediumtextmediumint
    middleintmin_rowsminuteminute_second
    modifymonthmonthnamemyisam
    naturalnumericnonot
    nullonoptimizeoption
    optionallyororderouter
    outfilepack_keyspartialpassword
    precisionprimaryprocedureprocess
    processlistprivilegesreadreal
    referencesreloadregexprename
    replacerestrictreturnsrevoke
    rlikerowrowssecond
    selectsetshowshutdown
    smallintsonamesql_big_tablessql_big_selects
    sql_low_priority_updatessql_log_offsql_log_update
    sql_select_limit
    sql_small_resultsql_big_resultsql_warningsstraight_join
    startingstatusstringtable
    tablestemporaryterminatedtext
    thentimetimestamptinyblob
    tinytexttinyinttrailingto
    typeuseusingunique
    unlockunsignedupdateusage
    valuesvarcharvariablesvarying
    varbinarywithwritewhen
    whereyearyear_monthzerofill
    
  • 上一篇资讯: TIPTOPgp版多sql报表_cs3
  • 下一篇资讯: T-SQL语法基础
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师