我在SQL Server 2014 Enterprise中有以下代码:
SELECT c.Id
FROM dbo.Content c
WHERE c.Id = 8753495 AND c.Content LIKE '%Paypal%'
此代码用于了解内容是否与单词Paypal匹配并返回0结果,对于该ID,我知道它在内容中包含单词“Paypal”。
我尝试过不同的内容,并且有些词语正在运作,而其他人则没有。
数据库和Content
表都使用SQL_Latin1_General_CP1_CI_AS
归类。
任何人都可以帮助我吗?
编辑: 这个查询的目的是做其他事情,不仅返回id,而且我在like运算符上发现了问题,所以我给你的部分失败了
还尝试使用上/下但仍无法正常工作
这是创建脚本。
CREATE TABLE [dbo].[Content](
[Id] [int] NOT NULL,
[Content] [nvarchar](max) NULL,
CONSTRAINT [PK_Content_1] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
感谢您的回复。
编辑2: Like operation returns no rows on nvarchar column filter if the column data start with numeric没有回答这个问题。 模式的末尾有一个空格。
这里的问题是一个恶意客户端,它使字符看起来很相似,这样可以避免验证并发送垃圾邮件
例如,Unicode 1056十进制(420 hexa)是一个类似于拉丁语P(Ascii 80)的希腊字符