因此,我正在编写一个报告,将所有版本的Adobe Acrobat Pro拉入单个SQL报告中。我遇到的问题是,Adobe将其命名约定从版本更改为版本。某些显示“Adobe Acrobat 7.1.0 Professional”,而其他显示“Adobe Acrobat 9 Pro”。我的问题是我可以在另一列显示版本,但是可能只显示所有不同版本的“Adobe Acrobat Pro”,并解析出#号?从sql表中拉出特定的单词或短语
也请原谅我,我仍然是新的整个sql查询的东西。但是我做了很多挖掘,似乎找不到任何适合我的东西。通过写一个用户定义的函数或者通过SQL另一种语言(如CLR组件取决于你的方言和权限可能 -
在此先感谢
斯科特
SELECT DISTINCT
v_GS_ADD_REMOVE_PROGRAMS_5.DisplayName0 AS [Display Name], LEFT(v_GS_ADD_REMOVE_PROGRAMS_5.Version0, 1) AS Version,
v_GS_ADD_REMOVE_PROGRAMS_5.Publisher0 AS Publisher, v_R_System_5.User_Name0 AS [User Name],
v_R_System_5.Name0 AS [Computer Name], DATEDIFF(day, v_GS_WORKSTATION_STATUS_5.LastHWScan, GETDATE()) AS [Last Scan]
FROM v_GS_ADD_REMOVE_PROGRAMS AS v_GS_ADD_REMOVE_PROGRAMS_5 INNER JOIN
v_R_System AS v_R_System_5 ON v_GS_ADD_REMOVE_PROGRAMS_5.ResourceID = v_R_System_5.ResourceID INNER JOIN
v_R_System_Valid AS v_R_System_Valid_5 ON v_R_System_5.ResourceID = v_R_System_Valid_5.ResourceID INNER JOIN
v_GS_WORKSTATION_STATUS AS v_GS_WORKSTATION_STATUS_5 ON
v_R_System_5.ResourceID = v_GS_WORKSTATION_STATUS_5.ResourceID
WHERE (v_GS_ADD_REMOVE_PROGRAMS_5.Publisher0 LIKE '%Adobe%') AND (v_GS_ADD_REMOVE_PROGRAMS_5.Version0 LIKE '7%') AND
(v_GS_ADD_REMOVE_PROGRAMS_5.DisplayName0 LIKE '%Acrobat%Pro%') AND
(NOT (v_GS_ADD_REMOVE_PROGRAMS_5.DisplayName0 LIKE '%Distiller%'))
哪种SQL方言(例如SQL Server 2008R2)? – Kaganar
sql server 2005 –