加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer无法判断空格数量

发布时间:2020-12-12 14:57:54 所属栏目:MsSql教程 来源:网络整理
导读:在SQLServer中字符串中连续的空格数据量是无法判断的,以下是测试脚本: DROP TABLE [dbo].[TestTable] CREATE TABLE [dbo].[TestTable]( ?[Id] [int] NOT NULL, ?[Name] [char](5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, ?CONSTRAINT [PK_TestTab

在SQLServer中字符串中连续的空格数据量是无法判断的,以下是测试脚本:

DROP TABLE [dbo].[TestTable]
CREATE TABLE [dbo].[TestTable](
?[Id] [int] NOT NULL,
?[Name] [char](5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
?CONSTRAINT [PK_TestTable] PRIMARY KEY CLUSTERED
(
?[Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

insert into TestTable(id,[Name]) values (1,'')
insert into TestTable(id,[Name]) values (2,' ')
insert into TestTable(id,[Name]) values (3,'???? ')

select id,'XX' + [Name] + 'YY' from TestTable where [Name] = ''
select id,'XX' + [Name] + 'YY' from TestTable where [Name] = ' '
select id,'XX' + [Name] + 'YY' from TestTable where [Name] = '???? '

exec sp_executesql N'SELECT * FROM [dbo].[TestTable] WHERE ([Name] <> @Name1 )',N'@Name1 char(1)',@Name1=' '
exec sp_executesql N'SELECT * FROM [dbo].[TestTable] WHERE ([Name] <> @Name1 )',N'@Name1 char(8000)',N'@Name1 varchar(1)',@Name1='?? '

exec sp_executesql N'SELECT * FROM [dbo].[TestTable] WHERE ([Name] = @Name1 )',@Name1=' ' exec sp_executesql N'SELECT * FROM [dbo].[TestTable] WHERE ([Name] = @Name1 )',N'@Name1 varchar(5)',@Name1='? '

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读