求sql server 2008中类似oracle中to_char转换日期格式函数,想得出月日的函数

举个例子 to_char(sysdate(),'dd-mm') 得出的返回值,即当前月日; 我不要convert函数和cast函数;
大神也可以给我一个自定义函数(这里假设f_test) ,让我可以在SQL SERVER 2008 中运行即可;

1,select f_test(getdate(),'dd-mm') 也可以得出月日

2,select f_test(getdate(),'yyyy-dd-mm') 可以得出年月日
...等等

1、首先打开SQL  SERVER的管理工具,然后选定一个数据库,点击新建查询。

2、接下来在查询窗口中输入如下的SQL语句,如下图所示,将GETDATE方法得到的日期值和字符值拼接一下。

3、运行以后会得到如下的错误提示,很明显,SQL  SERVER不允许将日期和字符值拼接。

4、接下来利用CONVERT函数对日期值进行字符串转换。

5、最后运行SQL语句以后,就会在输出结果中看到如下图所示的输出内容了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-29

select CONVERT(varchar(12) , getdate(), 111 ) 
-- 2004/09/12
select CONVERT(varchar(12) , getdate(), 112 ) 
-- 20040912
select CONVERT(varchar(12) , getdate(), 102 ) 
-- 2004.09.12
select CONVERT(varchar(12) , getdate(), 101 ) 
-- 09/12/2004
select CONVERT(varchar(12) , getdate(), 103 ) 
-- 12/09/2004
select CONVERT(varchar(12) , getdate(), 104 ) 
-- 12.09.2004
select CONVERT(varchar(12) , getdate(), 105 ) 
-- 12-09-2004
select CONVERT(varchar(12) , getdate(), 106 ) 
-- 12 09 2004
select CONVERT(varchar(12) , getdate(), 107 ) 
-- 09 12, 2004
select CONVERT(varchar(12) , getdate(), 108 ) 
-- 11:06:08

本回答被提问者采纳
第2个回答  2014-12-04
CAST 和 CONVERT
将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。

语法
使用 CAST:

CAST ( expression AS data_type )

使用 CONVERT:

CONVERT (data_type[(length)], expression [, style])

参数
expression

是任何有效的 Microsoft® SQL Server™ 表达式。有关更多信息,请参见表达式。

data_type

目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。有关可用的数据类型的更多信息,请参见数据类型。

length

nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。

style

日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。本回答被网友采纳
第3个回答  2014-12-04

    SELECT CONVERT(VARCHAR(5),GETDATE(),5)

    SELECT CONVERT(VARCHAR(10),GETDATE(),120)


VARCHAR()只是为了截取字符串

追问

select convert(varchar(5),getdate(),1) 你好,这是我提问题之前写的