除了GL支持之外,还有一种方法可以使用mmm-dd-yyyy修改西班牙语示例时使用自定义值覆盖区域设置:Jan = ENE,Aug = AGO或长日期(mmmm) 1月= ENERO,8月= AGOSTO,或者(dddd)星期一= LUNES,星期四= JUEVES等?
答案 0 :(得分:1)
在Oracle中:
SQL> alter session set nls_date_format = 'DAY, DD-MONTH-YYYY'
2 /
Session altered.
SQL> alter session set nls_language='SPANISH'
2 /
Session altered.
SQL> select sysdate as today, trunc(sysdate,'YYYY') as nyd from dual
2 /
TODAY NYD
----------------------------- -----------------------------
DOMINGO , 11-ABRIL -2010 VIERNES , 01-ENERO -2010
SQL>
答案 1 :(得分:1)
在Informix中有很多方法可以做到这一点,但大多数方法都是通过GLS工具完成的。您的问题并没有说明您的方案是什么;根据您的尝试,可能会有不同的答案。我可以看到的场景包括:
等式中的另一个重要因素是DB_LOCALE是否设置为与客户端区域设置相同。
此外,您应该确定您正在使用的客户端API - 再次,根据您使用的内容可能会有不同的答案,以及您如何通过API处理日期(如果您询问,您会得到不同的结果例如,API将DATE作为字符串而不是本机4字节有符号整数返回;在第一种情况下,客户端API代码将自动转换为字符串;在第二种情况下,您的应用程序代码可以使用客户端API用于格式化您控制下的值。)
IDS有一组广泛的函数来处理DATE值的格式。其中包括:
答案 2 :(得分:0)
至少在SQL Server中,您可以使用SET LANGUAGE
语句将语言设置为sys.syslanguages
SET LANGUAGE N'Spanish'
--mmm-dd-yyyy,
Select Left(DateName(mm, GetDate()),3)
+ '-' + Right('0' + Cast(DatePart(dd,GetDate()) As Varchar(2)), 2)
+ '-' + Cast(DatePart(yyyy, GetDate()) As char(4))
请注意,没有原生日期格式化函数会返回mmm-dd-yyyy
格式,因此您必须自己构建。