當前位置:首頁 » 編程語言 » 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))前一月,後一月反之

熱點內容
賣房電話腳本 發布:2025-01-09 00:38:23 瀏覽:741
手機上的密碼怎麼改密碼 發布:2025-01-09 00:35:46 瀏覽:293
電腦聯網代理伺服器出現問題 發布:2025-01-09 00:29:15 瀏覽:525
傳統的數據存儲的管理技術 發布:2025-01-09 00:22:05 瀏覽:555
python讀位元組數組 發布:2025-01-09 00:20:36 瀏覽:484
php關聯查詢 發布:2025-01-09 00:19:40 瀏覽:24
android手機終端 發布:2025-01-09 00:14:59 瀏覽:160
pdf訪問被拒絕 發布:2025-01-09 00:10:44 瀏覽:263
星越l8at什麼配置 發布:2025-01-09 00:00:17 瀏覽:453
vim配置python 發布:2025-01-08 23:59:29 瀏覽:467