我必須編寫一個用戶可以輸入emailid(varchar datatype)或userid(int數據類型)的登錄頁面的查詢。如何在不知道輸入的數據類型的情況下爲此編寫查詢?SQL查詢檢索基於emailid或用戶ID的數據
0
A
回答
0
您的輸入參數應該是varchar
類型。 然後在您的程序中使用ISNUMERIC
函數檢查號碼。如果是int
或varchar
,那麼有兩個基於IF語句的查詢。
DECLARE @userInput VARCHAR(50)
IF ISNUMERIC(@userInput) = 1
BEGIN
-- Your query with userid
END
ELSE
BEGIN
-- Your query with emailid
END
1
CREATE PROCEDURE my_stored_procedure
@emailId nvarchar(50) = NULL,
@userId int = NULL
AS
SET NOCOUNT ON;
IF (@emailId IS NOT NULL) AND (LEN(@emailId) > 0)
SELECT * FROM MYTABLE WHERE EmailId = @emailId
ELSE
SELECT * FROM MYTABLE WHERE UserId = @UserId
GO
0
嘗試此查詢,它可以幫助你。
DECLARE @emailid varchar(250),@userid bigint
set @emailid='A'
SET @userid=3
select * from yourtable
where case when @emailid='A' THEN 'A' ELSE emailid [email protected]
AND case when @userid=0 THEN 0 ELSE userid [email protected]
注:你應該通過「A」作爲EMAIL_ID和用戶標識默認值0,否則你可以通過你需要輸入
+0
你應該使用@dexter code.it給出理想的答案 –
相關問題
- 1. SQL選擇不檢索基於查詢的數據
- 2. SQl查詢檢索數據
- 3. 基於用戶名或ID檢索數據庫中的特定行
- 4. 數據庫時間數據檢索,基於時間的查詢
- 5. 用於檢索的數據庫查詢
- 6. 檢索基於ID
- 7. SQL注入,用於檢索查詢中的所有數據
- 8. 基於日期檢索數據的Ajax PHP查詢
- 9. 基於用戶輸入使用JDBC從SQL數據庫檢索數據?
- 10. 從基於Wordpress的MySQL數據庫檢索數據頁面ID
- 11. 基於單詞的SQL搜索查詢
- 12. SQL查詢以檢索數據
- 13. Sql查詢檢索以下數據
- 14. SQL Server 2008檢索數據查詢
- 15. SQL查詢以檢索數據
- 16. MYSQL - 基於組ID或用戶ID
- 17. SQL查詢基於計數
- 18. 起草SQL搜索查詢基於用戶輸入
- 19. 用於顯示基於名稱的數據的SQL查詢
- 20. 基於最大日期或最大日誌ID SQL查詢
- 21. SQL,JAVA查詢檢索基於所有列的主鍵
- 22. 查詢基於用戶電子郵件的ID查找
- 23. SQL查詢,需要cte或基於
- 24. 數據代數與基於SQL的數據庫查詢性能
- 25. SQL查詢,基於相同的ID計數兩列
- 26. 基於用戶名檢索android上的json數據
- 27. 查詢維基數據由GeoNames的ID
- 28. 從基於對象ID的解析中檢索數據?
- 29. MySQL查詢檢索數據
- 30. SQL查詢基於Oracle的
錯誤:過程或函數「GetLoginDetails」需要參數「@userId ', 那是不供給的。 – user1048278
我編輯的代碼,使@userId爲空 – dexter