日度归档:2019年11月21日

mssql sqlserver sql对使用逗号分隔的字符串 转换为数据表的另类方法实现


摘要:
下文讲述在sqlserver 对逗号分隔的字符串转换为数据表的另类方法实现,如下所示:
实验环境:sql server 2008 R2


实现思路:
将组合字符串中的逗号替换为“ ‘as n union all select ‘ ”,然后将替换后的字符串加上select 和 前后加上单引号 是其成为可执行sql脚本,
最后运行替换后的字符串,就可以得到一张数据表,如下所示:

  declare @maomao365 varchar(1000)

set @maomao365 ='sqlserver,blog,other';
---将逗号替换为 'as n union all select ' 
set @maomao365 = REPLACE(@maomao365,',',
     ''' as n union all select '''
    );
---在字符串前面加上select 和单引号 ,后面也加上单引号 
set @maomao365 =' select '''+ @maomao365 + '''';
print @maomao365

exec (@maomao365)
mssql_sqlserver_组合字符串转换为数据表的另类方法_10739

mssql_sqlserver_组合字符串转换为数据表的另类方法_10739

mssql sqlserver 将字符串转换为日期格式的两种方法分享


摘要;
下文讲述sqlserver 使用sql脚本将字符串转换为日期格式的方法分享
实验环境:sql server 2008 R2


实现思路:
方法1:使用cast 对表达式进行转换
方法2:使用convert对表达式进行转换

    declare @maomao365 varchar(30)  
    set     @maomao365 ='2019-11-21'

    select convert(datetime,@maomao365),
       cast(@maomao365 as datetime)
mssql_sqlserver_字符串转换为时间类型方法分享

mssql_sqlserver_字符串转换为时间类型方法分享

mssql sqlserver 如何使用sql脚本将查询数据表中列转换为新列呢?


摘要:
下文讲述sqlserver中使用sql脚本将查询出的数据表中的列转换为新列名及新类型的方法,具体操作如下所示:


实现思路;
使用 as 关键字 convert转换关键字 即可完成此功能。

例:
将数据表”maomao365.com”中
查询的keyId列转换为名称为keyIdNew 数据类型为nvarchar(20)
info 列转换为infoNew
other列转换为otherNew

  create table [maomao365.com]
(keyId int identity,
info varchar(30),
 other varchar(10))
 go
 ---生成基础数据
 insert into [maomao365.com]
 (info,other)values('sqlserver','blog')
,(N'爱好者',N'其它事项')
go 

select 
 convert(nvarchar(20),keyId) as keyIdNew,
 info as infoNew,
 other as otherNew
from [maomao365.com]
 go
 truncate table [maomao365.com]
 drop     table [maomao365.com]
mssql_sqlserver_查询数据列转换输出的方法分享

mssql_sqlserver_查询数据列转换输出的方法分享