在列中搜索特定名称模式

时间:2014-08-28 21:55:20

标签: sql sybase sybase-ase

我有下一个问题。我如何使用野外车'%'在sybase?我试图创建一个商店程序来获取包含特定字母或模式的员工姓名等信息,例如C' C'但是当我运行脚本时,我只得到最后一个字母是C的记录。我已经完成了一些测试,比如选择参数来查看接收的内容,我注意到当我用参数设置变量时,代码只放了一个字符串开头的wildcart%,例如:

  

PARAMETER c

     

VARIABLE%c

     

姓名FREDIC ISAAC

这是我的代码

USE AD06RECHUMBD_DESA
GO
BEGIN TRANSACTION
GO

IF OBJECT_ID ('dbo.pr_EmpleadoPrueba') IS NOT NULL
    DROP PROCEDURE dbo.pr_EmpleadoPrueba
GO

USE AD06RECHUMBD_DESA

GO
SET ANSINULL ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE  [dbo].pr_EmpleadoPrueba(
     @pNOMBRE CHAR (20)
)

AS

BEGIN

    DECLARE @NOMBRE CHAR (20)
    SET @NOMBRE = '%' + @pNOMBRE + '%'
    SELECT @pNOMBRE AS PARAMETER
    SELECT @NOMBRE AS VARIABLE


        SELECT      A.DES_NOMBRE AS Nombre

        FROM        RH_EMPLEADO A

        WHERE       A.DES_NOMBRE LIKE UPPER(@NOMBRE)

        ORDER BY    A.DES_NOMBRE

END
GO

GRANT EXECUTE ON dbo.pr_EmpleadoPrueba TO user_sirhportal
GO

COMMIT TRANSACTION
GO

可能是主要原因?

0 个答案:

没有答案