簡體   English   中英

SQL:datetime或varchar作為存儲過程的參數數據類型

[英]SQL: datetime or varchar as parameter datatype for stored procedure

我有一個SQL Server存儲過程,它將接受date作為輸入參數以在其中建立查詢。因此在定義存儲過程時我應該使用哪種數據類型作為參數.nvarchar(15)和datetime有什么區別?

1 : create procedure TestProcedure(@startDate datetime)
        and
2 :   create procedure TestProcedure(@startDate nvarchar(15))

在性能方面,我使用datetime優於varchar嗎?

是的,請始終使用datetime類型。 它更准確。 datetime類型也始終為8個字節,因此傳輸的長度小於15個字符。

然后,前端負責處理文化/地區問題,例如MDY,DMY或YMD組件字段排序。 (如果數據庫在美國語言環境下運行,並且用戶在英國,“ 3/4/2009”表示4月3日還是3月4日?)

如果您知道只有日期會通過該參數,則使用適當的數據類型會更好,因為它較小,並且可以使比較更快。 它還可以防止提供無效值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM