日度归档:2019年10月8日

mssql sqlserver使用sql脚本将”日期字段”修改为”字符串类型字段”的方法分享


摘要:
下文讲述:将数据表中“日期字段”修改为“字符串字段”的方法,如下所示:
实验环境:sql server 2008 R2



实现思路:
1.先添加新的临时“字符串列”
2.将“日期字段”上的数值使用update更新至“新增加的列”上
3.删除“日期列”
4.修改新增的“字符串列名”为“日期列名

  ALTER TABLE [maomao365.com] ADD tmpZiDuan varchar(200)
  --将源字段writeDate上的值更新至tmpZiDuan上
  update [maomao365.com] set [tmpZiDuan]=CONVERT(varchar,writeDate,23)
  --删除旧字段writeDate
alter table [maomao365.com]drop column writeDate
--修改tmpZiDuan名为“writeDate”
execute sp_rename 'tmpZiDuan','writeDate'

相关阅读:
sqlserver添加列删除列修改列
sqlserver修改列名

mssql sqlserver将一个单引号替换为双引号的方法分享


摘要:
下文讲述sqlserver单引号替换为双引号的方法分享,如下所示:


实现思路:
使用replace替换字符串函数
注意事项:
在sql变量中,单引号需要用两个单引号进行表示

   declare @maomao365 varchar(100)
   set @maomao365 ='sqlserver''爱好者';
   ---单引号替换为双引号
   set @maomao365 = replace(@maomao365,'''','"')

相关阅读:
sqlserver replace函数应用
mssql sqlserver sql脚本中嵌入单引号的方法分享

mssql sqlserver left join 后面跟On 和 where 的区别说明


摘要:
下文通过举例的方式讲述 left join 后面跟On和where的区别说明,如下所示:
实验环境:sql server 2008 R2


一、left join on和where 区别说明

left join 后面的on 关键字只用于右表的连接
left join 后面无论放多少On条件都会将左表的数据全部显示出来

left join 后面的On条件只用于限制“右表的连接数据”起作用
——————————————————–
left join 后面的where 关键则用于限制返回行,准确的说
后面使用where条件可使left join 达到(inner join)的功能

二、举例验证

 create table [maomao365.com_a]
 (keyIdA int,infoA varchar(30))
 go
 create table [maomao365.com_b]
 (keyIdB int,infoB varchar(30))
 go
 ---基础数据生成
insert into [maomao365.com_a]
(keyIdA,infoA)values
(1,'sqlserver'),(2,N'sql爱好者')

insert into [maomao365.com_b]
(keyIdB,infoB)values
(1,'other'),(4,N'sql爱好者')
go
/*
此处使用了a.keyIdA=2,但是左表中
a.keyIDA=1的数据都显示出来了
只是B表中,没有关联出任何数据
*/
select * from [maomao365.com_a] a
left join [maomao365.com_b] b on a.keyIdA =b.keyIdB 
and a.keyIdA =2 

---where展示
select * from [maomao365.com_a] a
left join [maomao365.com_b] b  on 1=1
where  a.keyIdA =1 and a.keyIdA =b.keyIdB 
go
truncate table [maomao365.com_a]
drop     table [maomao365.com_a]
MSSQL_sqlserver_leftjoin后的on和where区别

MSSQL_sqlserver_leftjoin后的on和where区别