sql server中的怎么把数值型转换为字符串
①select cast(字段 as varchar) from 表名;
②select convert(varchar(50),字段) from 表名;
举例:查询数据表进行内容替换时,无法识别null字段内容 无法进行替换
常用时间函数有:
1、GETDATE()获取当前日期
SELECT GETDATE();
2、DAY|MONTH|YEAR 函数返回指定日期所在 日/月/年的部分
SELECT YEAR(GetDate()) as '年';
SELECT MONTH(GetDate()) as '月';
SELECT DAY(GetDate()) as '日';
3、DATENAME函数返回指定日期的指定部分,返回字符串。获取年、月、日、星期、周数、时、分、秒;
SELECT DateName(YEAR,GetDate()) as '年';
SELECT DateName(MONTH,GetDate()) as '月';
SELECT DateName(DAY,GetDate()) as '日';
SELECT DateName(hour,GetDate()) as '时';
SELECT DateName(minute,GetDate()) as '分';
SELECT DateName(second,GetDate()) as '秒';
SELECT DateName(weekday,GetDate()) as '星期';
SELECT DateName(quarter,GetDate()) as '第几季度';
SELECT DateName(week,GetDate()) as '一年中的第几周';
SELECT DateName(DAYOFYEAR,GetDate()) as '一年中的第几天';`
4、DATEPART() 函数用于返回日期/时间的单独部分,返回整数。获取年、月、日、小时、分钟等。
SELECT DatePart(YY,GETDATE())as '年';
SELECT DatePart(mm,GETDATE())as '月';
SELECT DatePart(dd,GETDATE())as '日';
SELECT DatePart(hh,GETDATE())as '时';`
5、DATEADD()函数,在日期中添加或减去指定的时间间隔。年、月、日+1
SELECT DATEADD(year,1,GETDATE()) as 明年今日;
SELECT DATEADD(year,-1,GETDATE()) as 去年今日;
SELECT DATEADD(month,+1,GETDATE()) as 下月今日;
SELECT DATEADD(day,30,GETDATE()) as XX天后;
6、DATEDIFF()函数返回两个指定日期之间间隔的时间
SELECT DATEDIFF(year,'2023-01-01' ,GETDATE()) as "间隔时间/年";
SELECT DATEDIFF(month,'2023-01-01' ,GETDATE()) as "间隔时间/月";
SELECT DATEDIFF(day,'2023-01-01',GETDATE()) as "间隔时间/天";
SELECT DATEDIFF(day,'2023-01-01','2023-01-02') as "间隔时间/天";
7、CONVERT()函数可以用不同的格式去显示日期/时间数据, 把日期转换为新数据类型的通用函数。
SELECT CONVERT(VARCHAR(12),GETDATE(),102);
SELECT CONVERT(VARCHAR(10),GETDATE(),121);
SELECT CONVERT(VARCHAR(23),GETDATE(),120) as 输出时间格式;
8、CAST函数用于将某种数据类型转换为另一种数据类型。
SELECT CAST(10.2748 as int) as 取整;
SELECT CAST(12345 as float);
SELECT CAST(12345.12345 as char);
SELECT CAST('2023-12-18 15:41:25' as char(16));
SELECT CAST(GetDate() as datetime2);
SELECT CAST(NEWID() AS varchar(36)) as 随机字符串;
9、EOMONTH函数返回包含指定日期所在月份的最后一天。
SELECT EOMONTH( '2023-12-01' );
SELECT EOMONTH( GETDATE() ) as 当月月末日期;
10、REPLACE函数使用新字符串替换字符串所有出现的子字符串,时间格式替换。
SELECT REPLACE(CONVERT(varchar, GETDATE(), 120 ),'-','/')