• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Mặc định hiển thị ngày tháng, năm trong SQL server

Trao đổi về lập trình Web Forms, Javascript với ASP.NET

Moderators: vietluyen, vuathongtin

User avatar
QUANITGROBEST
Thành viên trung thành
Thành viên trung thành
Posts: 227
Joined: Thu 11/10/2012 9:47 am
Location: Thái Bình
Has thanked: 78 times
Been thanked: 24 times
Contact:

Mặc định hiển thị ngày tháng, năm trong SQL server

Postby QUANITGROBEST » Mon 13/05/2013 11:36 am

Hiện tại mình dùng sql 2008, khai báo 1 cột kiểu dữ liệu Date, và mặc định hiên thị dữ liệu Năm - Tháng - Ngày như hình dưới
Image
làm sao để hiển thị theo ngày-tháng-năm cho người dùng dễ nhìn


http://grobest.com.vn/[url]spasenhong.vn[/url]

ngocvinh
Guru
Guru
Posts: 701
Joined: Wed 23/04/2008 8:14 am
Location: Biên Hòa Đồng Nai
Been thanked: 113 times

Re: Mặc định hiển thị ngày tháng, năm trong SQL server

Postby ngocvinh » Mon 13/05/2013 12:48 pm

Trong SQL 2008 mặc định như vậy hay sao ấy mà mình mò củng chưa ra cách. Khi đọc ra VB cho dễ nhìn thì chuyển định dạng từ câu SQL cho nhanh.
Tham khảo: http://anubhavg.wordpress.com/2009/06/1 ... rver-2005/
.NET

User avatar
QUANITGROBEST
Thành viên trung thành
Thành viên trung thành
Posts: 227
Joined: Thu 11/10/2012 9:47 am
Location: Thái Bình
Has thanked: 78 times
Been thanked: 24 times
Contact:

Re: Mặc định hiển thị ngày tháng, năm trong SQL server

Postby QUANITGROBEST » Tue 14/05/2013 8:39 am

uh mình cũng định chuyển hết toàn bộ đinh dạng của SQL qua dangj forrmat Ngày/tháng/Năm cho tiện, nhưng xem lại chương trình thì thấy trước giờ toàn để định dạng là Năm/tháng/ngày nếu chuyển định dạng CSDL qua ngày/tháng/năm thì source code trước đó cũng phải sửa hết lại, điều này ko ổn, nên mình vẫn để mặc định là Năm/tháng/ngày và khi người dùng nhập vào ngày/tháng/năm thì mình format ngay trên code VB, đoạn code của mình như vầy, ko biết có cách nào hay hơn ko nhưng hiện tại cách này đã giải quyết được vấn đề của mình:
chia sẻ đoạn code cho bạn nào cần:
  1. Dim Ngay As Date = Trim(txtngaytham.Text)
  2. Dim FormatNgay as String = Ngay.ToString("yyyy-MM-dd")
  3.  
http://grobest.com.vn/[url]spasenhong.vn[/url]

tindl88
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 363
Joined: Sat 26/04/2008 6:10 pm
Has thanked: 16 times
Been thanked: 10 times

Re: Mặc định hiển thị ngày tháng, năm trong SQL server

Postby tindl88 » Fri 09/08/2013 10:24 am

convert(datetime,post_dateexpire,103)

Đổi ngày trong sql luôn.
post_dateexpire là trường dữ liệu ngày.
103 đổi thành dd/mm/yy
Tham khảo thêm http://www.w3schools.com/sql/func_convert.asp

User avatar
vietteiv
Quản trị
Quản trị
Posts: 1325
Joined: Sat 10/02/2007 12:17 am
Location: Cung cấp giải pháp quản lý doanh nghiệp, dự án, tư vấn xây dựng
Has thanked: 6 times
Been thanked: 71 times
Contact:

Re: Mặc định hiển thị ngày tháng, năm trong SQL server

Postby vietteiv » Fri 09/08/2013 3:00 pm

bạn chạy script này để tạo function format ngày tháng
  1. CREATE FUNCTION [dbo].[SY_FormatDateFnc] (@Datetime DATETIME, @FormatMask VARCHAR(32))
  2.  
  3. RETURNS VARCHAR(32)
  4.  
  5. AS
  6.  
  7. BEGIN
  8.  
  9.     DECLARE @StringDate VARCHAR(32)
  10.  
  11.     SET @StringDate = @FormatMask
  12.  
  13.     IF (CHARINDEX ('YYYY',@StringDate) > 0)
  14.  
  15.        SET @StringDate = REPLACE(@StringDate, 'YYYY', DATENAME(YY, @Datetime))
  16.  
  17.     IF (CHARINDEX ('YY',@StringDate) > 0)
  18.  
  19.        SET @StringDate = REPLACE(@StringDate, 'YY', RIGHT(DATENAME(YY, @Datetime),2))
  20.  
  21.     IF (CHARINDEX ('Month',@StringDate) > 0)
  22.  
  23.        SET @StringDate = REPLACE(@StringDate, 'Month', DATENAME(MM, @Datetime))
  24.  
  25.     IF (CHARINDEX ('MON',@StringDate COLLATE SQL_Latin1_General_CP1_CS_AS)>0)
  26.  
  27.        SET @StringDate = REPLACE(@StringDate, 'MON',
  28.  
  29.                          LEFT(UPPER(DATENAME(MM, @Datetime)),3))
  30.  
  31.     IF (CHARINDEX ('Mon',@StringDate) > 0)
  32.  
  33.        SET @StringDate = REPLACE(@StringDate, 'Mon', LEFT(DATENAME(MM, @Datetime),3))
  34.  
  35.     IF (CHARINDEX ('MM',@StringDate) > 0)
  36.  
  37.        SET @StringDate = REPLACE(@StringDate, 'MM',
  38.  
  39.                   RIGHT('0'+CONVERT(VARCHAR,DATEPART(MM, @Datetime)),2))
  40.  
  41.     IF (CHARINDEX ('M',@StringDate) > 0)
  42.  
  43.        SET @StringDate = REPLACE(@StringDate, 'M',
  44.  
  45.                          CONVERT(VARCHAR,DATEPART(MM, @Datetime)))
  46.  
  47.     IF (CHARINDEX ('DD',@StringDate) > 0)
  48.  
  49.        SET @StringDate = REPLACE(@StringDate, 'DD',
  50.  
  51.                          RIGHT('0'+DATENAME(DD, @Datetime),2))
  52.  
  53.     IF (CHARINDEX ('D',@StringDate) > 0)
  54.  
  55.        SET @StringDate = REPLACE(@StringDate, 'D', DATENAME(DD, @Datetime))  
  56.  
  57. RETURN @StringDate
  58.  
  59. END

cách sử dụng
[sql]SELECT dbo.SY_FormatDateFnc (getdate(), 'dd/mm/yyyy') -- 09/08/2013
SELECT dbo.SY_FormatDateFnc (getdate(), 'yyyy/mm/dd') -- 2013/08/09[/sql]

ngocvinh
Guru
Guru
Posts: 701
Joined: Wed 23/04/2008 8:14 am
Location: Biên Hòa Đồng Nai
Been thanked: 113 times

Re: Mặc định hiển thị ngày tháng, năm trong SQL server

Postby ngocvinh » Wed 02/10/2013 11:34 am

Các bác cho em hỏi với Datetime mặc định trong SQL2005 như hàm dưới thì chạy OK, giờ chuyển qua SQL2008 thì báo lỗi không insnert vô được database. Có bác nào biết về vụ này giúp tôi với. Cám ơn nhiều.
câu này chạy OK trên SQL2005 -> Command.Parameters.Add("@DATE", SqlDbType.Datetime).value = DateTime.Now

  1.  Private Sub BTsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTsave.Click
  2.  
  3.         Try
  4.  
  5.             If CboWo.Text = "" Or Cbopcb.Text = "" Or Txtquantity.Text = "" Then
  6.                 MsgBox(" Thông tin nhập vào chưa đầy đủ ")
  7.                 Exit Sub
  8.             End If
  9.             row1 = WO.NewRow()    'Lam 1 dong moi
  10.            row1("Wo") = CboWo.Text
  11.             row1("assynumber") = Cbopcb.Text.Trim
  12.             row1("Quantity") = Val(Txtquantity.Text)
  13.             row1("creator") = user
  14.             row1("Date") = DateTime.Now
  15.             row1("Status") = CboStatus.Text
  16.             TextBox1.Text = Now.Date
  17.             WO.Rows.Add(row1) 'add dong vao table WO
  18.            Command = New SqlCommand
  19.             Da = New SqlDataAdapter
  20.             Command.Connection = dbs
  21.             Command.CommandType = CommandType.Text
  22.             Command.CommandText = " insert into  WO values( @WO, @assynumber,@QUANTITY,@creator,@DATE,@Status)"
  23.             Command.Parameters.Add("@WO", SqlDbType.NVarChar, 50, "WO")
  24.             Command.Parameters.Add("@assynumber", SqlDbType.NVarChar, 50, "assynumber")
  25.             Command.Parameters.Add("QUANTITY", SqlDbType.Int, 5, "Quantity")
  26.             Command.Parameters.Add("@creator", SqlDbType.NChar, 10, "creator")
  27.             Command.Parameters.Add("@DATE", SqlDbType.Datetime).value =  DateTime.Now
  28.             Command.Parameters.Add("@Status", SqlDbType.NChar, 10, "Status")
  29.             Da.InsertCommand = Command
  30.             Da.Update(WO)
  31.             Da.Dispose() 'Update xong huy doi tuong giai phong bo nho
  32.            Command.Dispose()
  33.             MsgBox("Đã lưu thành công ")
  34.             BTsave.Enabled = False
  35.             BTupdate.Enabled = True
  36.             BTclear.Enabled = True
  37.             DG1.Enabled = True
  38.         Catch ex As Exception
  39.             WO.RejectChanges()
  40.             MsgBox(ex.ToString, , "Thông báo")
  41.             CboWo.Text = ""
  42.             CboWo.Focus()
  43.  
  44.         End Try
  45.  
  46.     End Sub
.NET


Return to “Lập trình Web với ASP.NET”

Who is online

Users browsing this forum: No registered users and 2 guests