找不到用户定义的功能

时间:2012-03-22 23:46:51

标签: sql sql-server

DECLARE @lastname VARCHAR(25)
DECLARE @birthdate VARCHAR(25)
SELECT @lastname = 'Smith'

SELECT @birthdate = '19-Apr-36'

INSERT INTO [TEST_TABLE](lastname, birthdate) 
VALUES (@lastname, (dbo.scrubDateDOBString(@birthdate)))

无论如何要在ssms08中进行前面的查询?

我收到以下错误:

  

Msg 4121,Level 16,State 1,Line 5
  找不到列“dbo”或   用户定义的函数或聚合“dbo.scrubDateDOBString”,或   这个名字含糊不清。

以下作品:

INSERT INTO TEST_TABLE (lastname, birthdate) 
VALUES ('test', (dbo.scrubDateString('2/2/48')))

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用INSERT INTO...SELECT

DECLARE @lastname VARCHAR(25)
DECLARE @birthdate VARCHAR(25)
SET @lastname = 'Smith'       
SET @birthdate = '19-Apr-36'  

insert into [TEST_TABLE] (lastname,birthdate) 
SELECT @lastname, dbo.scrubDateDOBString(@birthdate)

您可能需要将@ birthdate转换为其他格式

如果你需要它,你可以这样做:

insert into [TEST_TABLE] (lastname,birthdate) 
SELECT @lastname, dbo.scrubDateDOBString(cast(@birthdate as datetime))