sql中的函数备注

日期转换函数 简单记录:

      常用的一般是: yyyyMMdd  yyyy-MM-dd  yyyy/MM/dd  

       sqlserver 默认日期格式可通过getdate()查看一下。

Date转字符:

Select CONVERT(varchar(255), GETDATE(), 14)--10:57:46:967   

Select CONVERT(varchar(255), GETDATE(), 24)--10:57:47

Select CONVERT(varchar(255), GETDATE(), 23)--2020-02-14

        Select CONVERT(varchar(255), GETDATE(), 111)--2020/02/14  
        Select CONVERT(varchar(255), GETDATE(), 112) --20200214 

Select CONVERT(varchar(255), GETDATE(), 120)--2020-02-14 10:57:49  

Select CONVERT(varchar(255), GETDATE(), 121)--2020-02-14 10:47:11.413

Select CONVERT(varchar(20), cast('20200214' as datetime),120)  --2020-02-14 00:00:00

格式主要是对于字符串的显示来说的。在字符串与date的转换中,直接会转换为默认的格式 。日期型的字符直接插入赋值date类型的字段中是允许的,系统会进行convert的默认转换。

对于不同长度的日期型字符串,转换为格式化日期要注意,下面的转换会导致错误:Select CONVERT(date, '2020-02-14' ,112)  --error .  

可以CONVERT(varchar(8), cast(GetDate() as date), 112) 转换

对应长日期的可以根据varchar的长度截取。112 与12的区别主要是年分使用4位标记还是2位标记。

比较日期型字符串 与日期型字段,如果用字符串比较需要将格式转换为一致。

Cast(源值 AS 目标数据类型) 转换函数 : 

在数值与字符的简单转换中可以使用。例如:CAST(123.4 AS varchar) 

如果varchar长度小于前者则会溢出报错:CAST(123.45 AS varchar(5)) --Arithmetic overflow error converting numeric to data type varchar

 LEFT:返回字符串中从左边开始指定个数字符。

           LEFT(源字符串,要提取的字符个数);

           left('abcdef',3)--abc

RIGTH:返回字符串从右边开始指定个数字符。

         RIGHT(源字符串,要提取的字符个数);

         right('abcdef',3)--def

SubString(expression, startPos, Len):   截取一个expression中的其中一部分,其中1表示的是第一字符位置.

    SubString('abcdedf', 1, 3) --从第一个字符开始,从expression中截取3个字符长度的字符串。显示为:abc

 

1.INSERT INTO SELECT语句

语句形式为:Insert into tmpTable(field1,field2,...)  Select  field1, field2,... from sourceTable

或者:Insert into tmpTable Select  *  from sourceTable

注意: 要求目标表tmpTable必须存在.。并且字段field,field2...也须存在

2.SELECT INTO FROM语句

语句形式为:SELECT field1, field2 into tmpTable from sourceTable  ----(select *  into tmpTable from table)

要求目标表tmpTable不存在,在插入时会自动创建表tmpTable,并将sourceTable 中指定字段数据复制到tmpTable中。

 

修改表字段的语句:

1, 增加字段:
  alter table XXX add FFF datatype /not null default VVV

2, 删除字段:
  alter table XXX drop column FFF

3, 修改字段名:
  alter table XXX rename column FFFA to FFFB

4, 修改字段类型、长度:
  alter table XXX alter column FFF datatype/(newlen) /not null

SQL SERVER中的自增列默认是从1开始自增,如果我们想让它从指定的种子id开始自增,可以执行:

 DBCC CHECKIDENT(TableaName, RESEED, id)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值