SQL Server:如何设置返回格式?

Posted

技术标签:

【中文标题】SQL Server:如何设置返回格式?【英文标题】:SQL Server: how to set return format? 【发布时间】:2010-03-12 11:30:45 【问题描述】:

问题:新的 SQL Server 2008 数据库返回格式为英文(日期/浮点)的值。

有没有办法设置返回格式?

比如暂时切换数据库语言?

或者只是设置当前查询的语言?

【问题讨论】:

【参考方案1】:

BOL:指定会话的语言环境。会话语言确定日期时间格式和系统消息。

DECLARE @Today DATETIME
    SET @Today = '12/5/2007'

    SET LANGUAGE Italian
    SELECT DATENAME(month, @Today) AS 'Month Name'

    SET LANGUAGE us_english
    SELECT DATENAME(month, @Today) AS 'Month Name' 
    GO

【讨论】:

【参考方案2】:

您不能在 SQL Server 中为单个语句切换语言或为选择指定不同的语言。

你需要做的是:

在您的CONVERT 语句中使用适当的“样式”值将DATETIME 转换为字符串(有关详细信息,请参阅MSDN docs on CONVERT) 有一个批处理来切换到所需的语言,执行您的语句,然后切换回来 不要在 SQL Server 端进行切换,而是在您的应用程序中进行

【讨论】:

以上是关于SQL Server:如何设置返回格式?的主要内容,如果未能解决你的问题,请参考以下文章

如何让sqlserver 只返回年和月?

mysql 数据库如何转换到 sql sever的数据库格式

如何在 SQL Server中 将日期格式化

如何将 SQL Server 的时间戳列转换为日期时间格式

sql server 2000 单用户如何设置?

sql server中datetime字段只取年月日如2006-04-21,默认值如何设置?getdate()得到的是包含时分秒的时间。