MS SQL Server获取十二个月份的英文缩写

如果使用DATENAME()函数是取得月份的英文全称,但报表需要,只需显示月份名称缩写即可。

十二个月份的英文缩写,只有五月份是全称与缩写一样,其它月份的缩写仅是取前三位字母。因此Insus.NET写成一个自定义函数:


代码如下:

-- =============================================
-- Author: Insus.NET
-- Create date: 2012-12-18
-- Description: Get Month abbreviation name
-- =============================================
CREATE FUNCTION [dbo].[udf_MonthShortName]
(
@input DATETIME
)
RETURNS NVARCHAR(3)
AS
BEGIN
DECLARE @rtn NVARCHAR(3)
SET @rtn = SUBSTRING(DATENAME(MONTH,@input), 1, 3)
RETURN @rtn
END

(0)

相关推荐

  • SQLSERVER简单创建DBLINK操作远程服务器数据库的方法

    本文实例讲述了SQLSERVER简单创建DBLINK操作远程服务器数据库的方法.分享给大家供大家参考,具体如下: --配置SQLSERVER数据库的DBLINK exec sp_addlinkedserver @server='WAS_SMS',@srvproduct='',@provider='SQLOLEDB',@datasrc='10.131.20.100' exec sp_addlinkedsrvlogin 'WAS_SMS','false', NULL,'CustomSMS','Sql

  • SQLSERVER查询所有数据库名,表名,和字段名的语句

    1.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.获取所有表名: SELECT Name FROM DatabaseName..SysObjects Where XType='U' ORDER BY Name XType='U':表示所有用户表; XType='S':表示所有系统表; 3.获取所有字段名: SELECT Name FROM SysColumns WHERE id=Object_Id('TableNa

  • SQL Server简单实现数据的日报和月报功能

    本文实例讲述了SQL Server简单实现数据的日报和月报功能.分享给大家供大家参考,具体如下: --320, SQL SERVER 日报 --查询2009-01-01当天客户A1,A2,A3的订单数量 SELECT Cust_Name , CONVERT(CHAR(10), Order_Date, 120) Order_Date , SUM(Qty) Qty FROM Orders_Big WHERE 1=1 AND Cust_Name IN ('A1', 'A2', 'A3') AND Or

  • SQL Server导入、导出、备份数据方法

    一.导出导入SQL Server里某个数据库 1.在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务->备份数据库. 2.备份 选数据库-完全, 目的 备份到 按添加按钮 文件名 在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak) 重写 选重写现有媒体 最后按确定按钮. 如果生成的备份数据库文件大于1M,要用压缩工具压缩后再到Internet上传输. 3.通过FTP或者remote desktop或者pcanywhere等方法 把第二

  • SQLserver 实现分组统计查询(按月、小时分组)

    设置AccessCount字段可以根据需求在特定的时间范围内如果是相同IP访问就在AccessCount上累加. 复制代码 代码如下: Create table Counter ( CounterID int identity(1,1) not null, IP varchar(20), AccessDateTime datetime, AccessCount int ) 该表在这儿只是演示使用,所以只提供了最基本的字段 现在往表中插入几条记录 insert into Counter selec

  • sql server日期相减 的实现详解

    复制代码 代码如下: select datediff(year, 开始日期,结束日期);     --两日期间隔年select datediff(quarter, 开始日期,结束日期); --两日期间隔季select datediff(month, 开始日期,结束日期); --两日期间隔月select datediff(day, 开始日期,结束日期); --两日期间隔天select datediff(week, 开始日期,结束日期); --两日期间隔周select datediff(hour,

  • SQL Server解析XML数据的方法详解

    本文实例讲述了SQL Server解析XML数据的方法.分享给大家供大家参考,具体如下: --5.读取XML --下面为多种方法从XML中读取EMAIL DECLARE @x XML SELECT @x = ' <People> <dongsheng> <Info Name="Email">dongsheng@xxyy.com</Info> <Info Name="Phone">678945546</

  • sqlserver获取当前日期的最大时间值

    那你也许会问及,怎样获取当前系统日期的最大时间值,如yyyy-MM-dd 23:59:59.997. 我们可以使用DATEADD函数,来实现,以当前日期的午夜时间值加一天,即得到第二天的午夜时间值,然后再减去3秒,即可以获取当前系统日期的最大时间值. 复制代码 代码如下: DECLARE @Date DATETIME = CURRENT_TIMESTAMP --当前系统日期时间 DECLARE @midnight DATETIME SET @midnight = CAST(CAST(@Date

  • SqlServer中的日期与时间函数

    一.Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数. select datediff(day,'2004-09-01','2004-09-18')

  • sqlserver中获取月份的天数的方法分享

    如下: 复制代码 代码如下: CREATE FUNCTION [dbo].[udf_DaysInMonth] ( @Date DATETIME ) RETURNS INT AS BEGIN DECLARE @dim AS TABLE (M INT,Dy INT) INSERT INTO @dim VALUES (1,31),(3,31),(5,31),(7,31),(8,31),(10,31),(12,31), (4,30),(6,30),(9,30),(11,30), (2, CASE WHE

  • sqlserver中获取date类的年月日语句

    select * from 表名 where Convert(varchar(100),日期字段,23)='2008-12-15' 再给你个Convert函数的应用: 复制代码 代码如下: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(),

随机推荐