2011-12-20 6 views
3

私は、SQL Server 2005ストアドプロシージャのこのスニペットを選択クエリの一部として説明することができたと思っています - 私はPHP mysqlに堪能ですが、ASP/SQL Serverは自分の特権ではありません!SQL Serverのストアドプロシージャ/クエリの説明

+RTRIM(ISNULL(r.country,''))+'|' 
+RTRIM(ISNULL(r.phone,''))+'|' 
+RTRIM(ISNULL(r.fax,''))+'|' 
+dbo.UKBN(RTRIM(ISNULL(r.bn,'')))+'|' 
+RTRIM(ISNULL(r.bn,''))+'|' 
+RTRIM(ISNULL(CAST (r.eventid AS varchar(5)),'')) 
) 

私はその後、パイプが分離それらを一緒に連結し、それはDBは、彼らは「」にnullの場合、それらをリセットしvarsの、それらをトリミングとり理解しています。

これは、そのように場合は、トリムを行い、その後私は何を理解していない「」にリセットされますr.bnがnullであるかどうかを確認するようで、私は

+dbo.UKBN(RTRIM(ISNULL(r.bn,'')))+'|' 

を取得しないビットですdbo.UKBNは/ですか?

これはテーブル/ varや他のストアドプロシージャではないようです。誰かがこのレイアウトでどのようなことをしているのか説明できますか?

答えて

6

dbo.UKIPBNはスカラーユーザー定義関数です。 Management StudioでProgrammability -> Functions -> Scalar-Valued Functionsを検索してください。

+2

+1あなたは早くです: – TheBoyan

+0

ありがとうございました。正確に正しい場所にありました - 2分未満で答えました! – megaSteve4

1

ストアド・プロシージャがない、UDF(ユーザー定義関数)でしょうか?確かに、それは既知のMSSQL関数ではないからです。

2

dbo.UKIPBNは、ユーザー定義関数です。スカラー値関数です。試してみてください。Programmability -> Functions -> Scalar-Valued Functions

関連する問題