SQL Serverda sana vaqtini aylantirish

SQL serverida sana quyidagi formatda saqlanadi: -

2017-02-20 05:59:58.537

Lekin men quyidagi formatda ishlab chiqarishni talab qilaman:

20/Feb/2017 11:29:58 AM
0
Xatlarni sana VARCHAR sifatida saqlash nima uchun?
qo'shib qo'ydi muallif a_horse_with_no_name, manba
qo'shib qo'ydi muallif Kinchit Dalwani, manba
SQL, tarixni asl qiymati bo'yicha saqlaydi. ushbu sanani olishni talab qilsangiz, o'sha kunni talabingizga muvofiq o'zgartirasiz. Siz buni sql- server-helper.com/sql-server-2008/…
qo'shib qo'ydi muallif Ajay Prajapati, manba

6 javoblar

Buni ko'ring

select  replace(convert(varchar(11),GETDATE(),113), ' ', '/')+ ' '+    RIGHT(CONVERT(varchar(20), GETDATE(), 22), 11);
2
qo'shib qo'ydi
@Asad: Agar javobingiz muammoni hal qilgan bo'lsa, uni qabul qilishingiz kerak, shunda boshqalar muammoni hal qilishini bilishadi.
qo'shib qo'ydi muallif Zohar Peled, manba
@Asad, ko'proq tasniflash uchun: i.stack.imgur.com/QpogP.png
qo'shib qo'ydi muallif ahmed abdelqader, manba
@Asad yuqoridagi so'rovni yangiladim. Iltimos, hozir harakat qilib ko'ring.
qo'shib qo'ydi muallif mangesh, manba
@Asad yaxshi.
qo'shib qo'ydi muallif mangesh, manba
rahmat, bu ishlaydi
qo'shib qo'ydi muallif Asad, manba
@zohar so'rovi 12 soatdan keyin 12 soatdan keyin ishlamayapti, bu soat 01:10:15 da kelishi kerak, hozir esa 13:10:15 PM sifatida ko'rsatiladi. 24 soatlik formatda AM va PM qo'sha olamizmi?
qo'shib qo'ydi muallif Asad, manba
@mangeshdesai .. Men to'g'ri javobni yangiladim
qo'shib qo'ydi muallif Asad, manba

Buni ko'ring,

SELECT replace(convert(NVARCHAR, getdate(), 106), ' ', '/')+' '+right(getdate(),7)
0
qo'shib qo'ydi
Sizning javobingiz uchun tashakkur, lekin uning berilgan ma'lumotga ko'ra chiqmasligi. Yo'qolgan "soniya"
qo'shib qo'ydi muallif Asad, manba
Try below conversion method :

 DECLARE @DATE DATETIME = '2017-02-20 05:59:58.537'
 SELECT REPLACE(CONVERT(VARCHAR(11),@DATE,113), ' ', '/') + ' ' 
 +CONVERT(VARCHAR(20),@DATE,108)+' ' +RIGHT(@DATE,2)
0
qo'shib qo'ydi

SQL tarixni asl qiymati bo'yicha saqlaydi (yyyy-mm-dd hh: mm: ss: ms). ushbu sanani olishni talab qilsangiz, o'sha kunni talabingizga muvofiq o'zgartirasiz.

Buni sinab ko'ring

0
qo'shib qo'ydi
qo'shib qo'ydi muallif Zohar Peled, manba

To'g'ri javob:

SELECT REPLACE(CONVERT(VARCHAR(11), getdate(), 113), ' ', '/') + ' ' + CONVERT(VARCHAR(20), CONVERT(TIME, getdate()), 22)
0
qo'shib qo'ydi

Menda foydalanadigan funksiya mavjud va siz soat, soniya va soniyalar uchun tafsilotlarni kiritish uchun uni o'zgartirishingiz mumkin.

CREATE FUNCTION [dbo].[fn_DateDisplay]
(
    -- Add the parameters for the function here
    @dateIn date
)
RETURNS nvarchar(MAX)
AS
BEGIN
    -- Declare the return variable here
    DECLARE @dateOut nvarchar(MAX)

    DECLARE @yearIn int
    DECLARE @monthIn int
    DECLARE @dayIn int

    DECLARE @monthOut nvarchar(3)

    -- Add the T-SQL statements to compute the return value here
    SET @yearIn = YEAR ( @dateIn ) 
    SET @monthIn = MONTH ( @dateIn ) 
    SET @dayIn = DAY ( @dateIn ) 

    SET @monthOut = SUBSTRING ( DATENAME ( MONTH , @dateIn ) , 1 , 3 )

    SET @dateOut = CONCAT ( @dayIn , ' ' , @monthOut , ' ' , @yearIn )

    -- Return the result of the function
    RETURN @dateOut

END
0
qo'shib qo'ydi