我有一个包含一个病人ID列,此ID在末端诊所后缀:TSQL SELECT语句更具体的LIKE
[Client Number]
29848393Ch
我运行的审计脚本诊所后缀来算,这些过去它:
SELECT COUNT(Client.[Client Number]) AS Count
FROM Client where [client number] like N'%' + @suffix
我们现在正在对已经造成的问题与查询三位数后缀。
[Client Number]
29848393QCh
有没有办法选择通过后缀计数,并且有它严格返回只包含Ch和不QCH结果?
'where right([client number],2)='Ch''或者你可以设置一个[计算列](https://msdn.microsoft.com/en-us/library/ms188300.aspx)类似到[基于功能的索引](http://stackoverflow.com/questions/22168213/function-based-indexes-in-sql-server)并使用正确的2个字符,并由它来限制。从性能角度来看,使用2个字符右侧的计算列看起来就像是要走的路。也许一个2和一个3 ... – xQbert
我认为你应该使用RIGHT()不喜欢 - 应该更快,需要我发布代码? – Hogan
刚看到xQbert的评论 - 他是对的。您也可以在某些平台上为RIGHT(x,2)设置索引。 – Hogan