RKh*_*RKh 0 c# sql-server sql-server-2005 c#-2.0
我在Web窗体上有一个TextBox服务器控件,比如txtDueDate.我不想使用DateTimePicker但想要使用TextBox本身.用户以dd/mm/yyyy格式输入日期.
将此值传递给SQL Server 2005(Express)存储过程时,我使用类似于:
cmdParameters.AddWithValue("@DueDate", Convert.ToDateTime(txtDueDate.Text));
Run Code Online (Sandbox Code Playgroud)
存储过程具有输入参数来处理此值,并声明为:
@DueDate SmallDateTime
Run Code Online (Sandbox Code Playgroud)
我想知道SQL Server 2005在内部用于存储此日期的默认格式.在我的PC上,Windows XP区域设置被设置为dd/mm/yyyy格式.在通过Management Studio查看记录时,它会正确存储.但我担心将使用此Web应用程序的用户.Windows区域设置可能在其PC上有所不同.
我想确定谁查询数据库,日期以dd/mm/yyyy格式显示.如果有人插入,02/01/2004,那么它不应该成为有效的反向日期,如:01/02/2004.
一个DateTime
是DateTime
是DateTime
-它没有"有"(它存储为一个64位长)存储在SQL Server时,任何(面向字符串)格式.如果您已经将参数传递给存储过程DateTime
,那么您应该没问题!该值将由SQL Server存储而不更改任何格式 - 因为它没有与之关联的任何格式...
日期以给定字符串格式表示的唯一一点是在SQL Server Management Studio中查看它,或者在例如.NET应用程序中将其转换为字符串格式时.
当您需要以某种方式将字符串表示传递到SQL Server(例如,用于搜索等)时,最强大且可以使用任何区域/语言设置的是ISO-8601日期格式: YYYYMMDD
或者(如果您需要时间部分)YYYY-MM-DDTHH:MM:SS
(T
中间是文字,分隔日期和时间部分)