当前位置:首页 » 编程语言 » sql格式化日期字符串

sql格式化日期字符串

发布时间: 2024-12-02 08:57:44

sql里格式化字符串函数

select right(cast(power(10,3) as varchar)+33,3)
select right(cast(power(10,3) as varchar)+1,3)

❷ sql日期转string

在MySQL数据库中可以用date_format函数将日期类型转成字符串类型。

❸ PLSQL中SQL语句怎样转换日期型函数为字符型

to_char函数可以将日期值格式化为字符串; to_date函数将字符串按指定格式转换成日期值。
在查询中, 将'2014/01/01'转换成日期值,然后再用作查询条件,这样会比较好。
select ... where enddate < to_date('2014/01/01', 'yyyy/mm/dd')

❹ sql中格式化字符串或时间,遇到多少,写多少,持

--求开始时间和结束时间相差的天数
DECLARE @result int
DECLARE @StartDayStartTime DATETIME
DECLARE @EndDayEndTime DATETIME
set @result=DATEDIFF (d,CONVERT(Datetime,@StartDay),CONVERT(Datetime,@EndDay))
--将2012-07-12 15:56:53 格式化为20120712 ,这种需求大多是因为每日数据量更新过大,所以为每天创建一张表,在实现跨多天查询的时候,你懂得。
--执行sql,并返回,最后求和,@sql务必要声明为nvarchar类型
declare @sql nvarchar(500)
declare @sm decimal(18,2) --开始里程
declare @em decimal(18,2)--结束里程
declare @sum decimal(18,2)--当天时间段内的里程
declare @temp decimal(18,2)--里程变量
set @sql='SELECT top 1 @temp=Convert(decimal(18,2),'+@GpsPath+'.Mileage) FROM '+@GpsPath+' WHERE GpsTime<='''+CONVERT(varchar(100),@E, 21)+''' AND TerminalNo=''02200051'' and '+@GpsPath+'.Mileage>0 ORDER BY GpsTime desc'
exec sp_executesql @sql,N'@temp decimal(18,2) output',@em out print @em
set @sql='SELECT top 1 @temp=Convert(decimal(18,2),'+@GpsPath+'.Mileage) FROM '+@GpsPath+' WHERE GpsTime>='''+CONVERT(varchar(100),@S, 21)+''' AND TerminalNo=''02200051'' and '+@GpsPath+'.Mileage>0 ORDER BY GpsTime asc'
exec sp_executesql @sql,N'@temp decimal(18,2) output',@sm out print @sm
set @sum=Convert(decimal(18,2),@em)-Convert(decimal(18,2),@sm)

❺ sql日期格式化怎么处理

1. SELECTconvert(varchar, getdate(), 100)-- mon dd yyyy hh:mmAM (or PM)

-- Oct 2 2008 11:01AM

SELECTconvert(varchar, getdate(), 101)-- mm/dd/yyyy - 10/02/2008

SELECTconvert(varchar, getdate(), 102)-- yyyy.mm.dd -- 2008.10.02

SELECTconvert(varchar, getdate(), 103)-- dd/mm/yyyy

SELECTconvert(varchar, getdate(), 104)-- dd.mm.yyyy

SELECTconvert(varchar, getdate(), 105)-- dd-mm-yyyy

SELECTconvert(varchar, getdate(), 106)-- dd mon yyyy

SELECTconvert(varchar, getdate(), 107)-- mon dd, yyyy

SELECTconvert(varchar, getdate(), 108)-- hh:mm:ss

SELECTconvert(varchar, getdate(), 109)-- mon dd yyyy hh:mm:ss:mmmAM (or PM)

-- Oct 2 2008 11:02:44:013AM

SELECTconvert(varchar, getdate(), 110)-- mm-dd-yyyy

SELECTconvert(varchar, getdate(), 111)-- yyyy/mm/dd

SELECTconvert(varchar, getdate(), 112)-- yyyymmdd

SELECTconvert(varchar, getdate(), 113)-- dd mon yyyy hh:mm:ss:mmm

-- 02 Oct 2008 11:02:07:577

SELECTconvert(varchar, getdate(), 114)-- hh:mm:ss:mmm(24h)

SELECTconvert(varchar, getdate(), 120)-- yyyy-mm-dd hh:mm:ss(24h)

SELECTconvert(varchar, getdate(), 121)-- yyyy-mm-dd hh:mm:ss.mmm

SELECTconvert(varchar, getdate(), 126)-- yyyy-mm-ddThh:mm:ss.mmm

-- 2008-10-02T10:52:47.513

-- 利用字符串函数创建不同的日期格式

SELECTreplace(convert(varchar, getdate(), 111),'/',' ')-- yyyy mm dd

SELECTconvert(varchar(7), getdate(), 126)-- yyyy-mm

SELECTright(convert(varchar, getdate(), 106), 8)-- mon yyyy

go

--通用的日期转换函数CREATE FUNCTION dbo.fnFormatDate (@Datetime DATETIME, @FormatMask VARCHAR(32))RETURNS VARCHAR(32)AS

BEGIN

DECLARE@StringDateVARCHAR(32)

SET@StringDate = @FormatMask

IF (CHARINDEX ('YYYY',@StringDate) > 0)

SET@StringDate =REPLACE(@StringDate,'YYYY',DATENAME(YY, @Datetime))

IF (CHARINDEX ('YY',@StringDate) > 0)

SET@StringDate =REPLACE(@StringDate,'YY',RIGHT(DATENAME(YY, @Datetime),2))

IF (CHARINDEX ('Month',@StringDate) > 0)

SET@StringDate =REPLACE(@StringDate,'Month',DATENAME(MM, @Datetime))

IF (CHARINDEX ('MON',@StringDateCOLLATESQL_Latin1_General_CP1_CS_AS)>0)

SET@StringDate =REPLACE(@StringDate,'MON',LEFT(UPPER(DATENAME(MM, @Datetime)),3))

IF (CHARINDEX ('Mon',@StringDate) > 0)

SET@StringDate =REPLACE(@StringDate,'Mon',LEFT(DATENAME(MM, @Datetime),3))

IF (CHARINDEX ('MM',@StringDate) > 0)

SET@StringDate =REPLACE(@StringDate,'MM',RIGHT('0'+CONVERT(VARCHAR,DATEPART(MM, @Datetime)),2))

IF (CHARINDEX ('M',@StringDate) > 0)

SET@StringDate =REPLACE(@StringDate,'M',CONVERT(VARCHAR,DATEPART(MM, @Datetime)))

IF (CHARINDEX ('DD',@StringDate) > 0)

SET@StringDate =REPLACE(@StringDate,'DD',right('0'+DATENAME(DD, @Datetime),2))

IF (CHARINDEX ('D',@StringDate) > 0)

SET@StringDate =REPLACE(@StringDate,'D',DATENAME(DD, @Datetime))

RETURN@StringDate

GO

2.通过dateadd函数来制定时间间隔

select dateadd(year,-1,convert(varchar, getdate(), 101))前一年,后一年反之

select dateadd(month,-1,convert(varchar, getdate(), 101))前一月,后一月反之

热点内容
python编码ascii 发布:2024-12-02 22:34:36 浏览:751
优酷视频怎么本地缓存 发布:2024-12-02 22:33:35 浏览:555
matlab支持的编译器 发布:2024-12-02 22:31:56 浏览:321
数值计算方法与算法答案 发布:2024-12-02 22:29:29 浏览:1
智逸哪个配置值得购买 发布:2024-12-02 22:28:44 浏览:297
安卓怎么锁定4g 发布:2024-12-02 22:15:07 浏览:489
算法的套路 发布:2024-12-02 21:54:16 浏览:285
mingw编译sdl 发布:2024-12-02 21:35:32 浏览:936
律所管理源码 发布:2024-12-02 21:18:54 浏览:840
取消语音加密 发布:2024-12-02 21:15:29 浏览:651