【发布时间】:2013-03-19 19:43:18
【问题描述】:
这是一个处理 SUBSTRING 与 Server 2008 相等性的问题。在我的问题中,我有一个名为 LICNO 的列处理许可证号。这些许可证号的格式如下:
LPC-907
LCSW-517
我使用SUBSTRING如下:
CASE
WHEN SUBSTRING(LICNO,1,2) <> 'LA' THEN 'Architect'
WHEN SUBSTRING(LICNO,1,4) = 'CAP' THEN 'Certified Public Assistant'
WHEN SUBSTRING(LICNO,1,2) IS NULL THEN 'None'
ELSE 'Landscape Architect'
END AS LicenseType,
存储过程只返回 Architect 和 Landscape Architect。我是否正确使用了 SUBSTRING?
【问题讨论】:
-
如果您总是从 1 开始,
LEFT()恕我直言更简洁直观。除非我们了解数据的样子以及您期望的结果,否则我们无法真正判断存储过程返回的质量。
标签: sql sql-server substring equality