将时间格式显示为:2007年5月18日
-- 2005年5月18日
SELECT CAST(YEAR(GETDATE()) AS NVARCHAR) + '年' + CAST(MONTH(GETDATE()) AS NVARCHAR) +'月' + CAST(DAY(GETDATE()) AS NVARCHAR) + '日'
-- 2005年05月18日
SELECT CAST(YEAR(GETDATE()) AS NVARCHAR) &#43; &#39;年&#39; &#43; (CASE WHEN MONTH(GETDATE())<10 THEN &#39;0&#39; ELSE &#39;&#39; END) &#43; CAST(MONTH(GETDATE()) AS NVARCHAR) &#43;&#39;月&#39; &#43; (CASE WHEN DAY(GETDATE())<10 THEN &#39;0&#39; ELSE &#39;&#39; END) &#43; CAST(DAY(GETDATE()) AS NVARCHAR) &#43; &#39;日&#39;
SELECT CAST(YEAR(GETDATE()) AS NVARCHAR) &#43; &#39;年&#39; &#43; CAST(MONTH(GETDATE()) AS NVARCHAR) &#43;&#39;月&#39; &#43; CAST(DAY(GETDATE()) AS NVARCHAR) &#43; &#39;日&#39;
-- 2005年05月18日
SELECT CAST(YEAR(GETDATE()) AS NVARCHAR) &#43; &#39;年&#39; &#43; (CASE WHEN MONTH(GETDATE())<10 THEN &#39;0&#39; ELSE &#39;&#39; END) &#43; CAST(MONTH(GETDATE()) AS NVARCHAR) &#43;&#39;月&#39; &#43; (CASE WHEN DAY(GETDATE())<10 THEN &#39;0&#39; ELSE &#39;&#39; END) &#43; CAST(DAY(GETDATE()) AS NVARCHAR) &#43; &#39;日&#39;
SQL server 内置支持格式&#xff1a;
使用 CONVERT 函数&#xff1a;
CONVERT (data_type[(length)], expression [, style])
下表中&#xff0c;左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值。给 style 值加 100&#xff0c;可获得包括世纪数位的四位年份 (yyyy)。
不带世纪数位 (yy) | 带世纪数位 (yyyy) | 标准 | 输入/输出** |
---|---|---|---|
- | 0 或 100 (*) | 默认值 | mon dd yyyy hh:miAM&#xff08;或 PM&#xff09; |
1 | 101 | 美国 | mm/dd/yyyy |
2 | 102 | ANSI | yy.mm.dd |
3 | 103 | 英国/法国 | dd/mm/yy |
4 | 104 | 德国 | dd.mm.yy |
5 | 105 | 意大利 | dd-mm-yy |
6 | 106 | - | dd mon yy |
7 | 107 | - | mon dd, yy |
8 | 108 | - | hh:mm:ss |
- | 9 或 109 (*) | 默认值 &#43; 毫秒 | mon dd yyyy hh:mi:ss:mmmAM&#xff08;或 PM&#xff09; |
10 | 110 | 美国 | mm-dd-yy |
11 | 111 | 日本 | yy/mm/dd |
12 | 112 | ISO | yymmdd |
- | 13 或 113 (*) | 欧洲默认值 &#43; 毫秒 | dd mon yyyy hh:mm:ss:mmm(24h) |
14 | 114 | - | hh:mi:ss:mmm(24h) |
- | 20 或 120 (*) | ODBC 规范 | yyyy-mm-dd hh:mm:ss[.fff] |
- | 21 或 121 (*) | ODBC 规范&#xff08;带毫秒&#xff09; | yyyy-mm-dd hh:mm:ss[.fff] |
- | 126(***) | ISO8601 | yyyy-mm-dd Thh:mm:ss:mmm&#xff08;不含空格&#xff09; |
- | 130* | 科威特 | dd mon yyyy hh:mi:ss:mmmAM |
- | 131* | 科威特 | dd/mm/yy hh:mi:ss:mmmAM |
* 默认值&#xff08;style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121&#xff09;始终返回世纪数位 (yyyy)。
** 当转换为 datetime 时输入&#xff1b;当转换为字符数据时输出。
更多信息参见&#xff1a;SQL 联机丛书
格式化建议&#xff1a;
正常情况下&#xff0c;我们不需要在存储过程中或者内联SQL语句中&#xff0c;格式化化输出时间日期类型&#xff0c;而应该按原样返回给应用程序&#xff0c;将格式化工作留给应用程序&#xff0c;这样灵活性更大&#xff0c;更加方便。
对于C# 中格式化日期请参考&#xff1a;
日期与时间格式字符串
标准 DateTime 格式字符串
自定义 DateTime 格式字符串