2009/11/27

SQL Server Date Time Format

SQL Server Date Time Format:
"In SQL Server used Cast or Convert function to Format DateTime value or column into a specific date format.Both function are used to convert datetime to varchar or string.

CAST function Syntax: CAST(expression as data_type)

Let's convert current date time to varchar

select cast(getdate() as varchar)

CONVERT function is used to change or convert the DateTime formats.By using convert function you can get only Date part or only Time part from the datetime.

CONVERT Function Syntax: CONVERT(data_type,expression,date Format style)

Let's take Sql Server DateTtime styles example:

Format


Query

USA mm/dd/yy


select convert(varchar, getdate(), 1)

ANSI yy.mm.dd


select convert(varchar, getdate(), 2)

British/French dd/mm/yy


select convert(varchar, getdate(), 3)

German dd.mm.yy


select convert(varchar, getdate(), 4)

Italian dd-mm-yy


select convert(varchar, getdate(), 5)

dd mon yy


select convert(varchar, getdate(), 6)

Mon dd, yy


select convert(varchar, getdate(), 7)

USA mm-dd-yy


select convert(varchar, getdate(), 10)

JAPAN yy/mm/dd


select convert(varchar, getdate(), 11)

ISO yymmdd


select convert(varchar, getdate(), 12)

mon dd yyyy hh:miAM (or PM)


select convert(varchar, getdate(), 100)

mm/dd/yyyy


select convert(varchar, getdate(), 101)

yyyy.mm.dd


select convert(varchar, getdate(), 102)

dd/mm/yyyy


select convert(varchar, getdate(), 103)

dd.mm.yyyy


select convert(varchar, getdate(), 104)

dd-mm-yyyy


select convert(varchar, getdate(), 105)

dd mon yyyy


select convert(varchar, getdate(), 106)

Mon dd, yyyy


select convert(varchar, getdate(), 107)

hh:mm:ss


select convert(varchar, getdate(), 108)

Default + milliseconds mon dd yyyy hh:mi:ss:mmmAM (or PM)


select convert(varchar, getdate(), 109)

mm-dd-yyyy


select convert(varchar, getdate(), 110)

yyyy/mm/dd


select convert(varchar, getdate(), 111)

yyyymmdd


select convert(varchar, getdate(), 112)

Europe default + milliseconds dd mon yyyy hh:mm:ss:mmm(24h)


select convert(varchar, getdate(), 113) or select convert(varchar, getdate(), 13)

hh:mi:ss:mmm(24h)


select convert(varchar, getdate(), 114)"

2009/11/23

Database Mail in SQL Server 2005 — DatabaseJournal.com

Database Mail in SQL Server 2005 — DatabaseJournal.com: "Database Mail in SQL Server 2005
By Muthusamy Anantha Kumar aka The MAK

The SQL Mail problems, that we faced in SQL Server 7.0 and 2000, are no more. SQL Server 2005 supports and uses SMTP email now and there is no longer a need to MAPI client to send email. In SQL Server 2005, the mail feature is called Database Mail. In this article, I am going to demonstrate step-by-step, with illustrations, how to configure Database Mail and send email from SQL Server.

Database Mail has four components.

1. Configuration Component

Configuration component has two sub components. One is the Database Mail account, which contains information such as the SMTP server login, Email account, Login and password for SMTP mail.

The Second sub component is Database Mail Profile. Mail profile can be Public, meaning members of DatabaseMailUserRole in MSDB database can send email. For private profile, a set of users should be defined.

2. Messaging Component

Messaging component is basically all of the objects related to sending email stored in the MSDB database.

3. Database Mail Executable

Database Mail uses the DatabaseMail90.exe executable to send email.

4. Logging and Auditing component

Database Mail stores the log information on MSDB database and it can be queried using sysmail_event_log.

Step 1

Before setting up the Database Mail profile and accounts, we have to enable the Database Mail feature on the server. This can be done in two ways. The first method is to use Transact SQL to enable Database Mail. The second method is to use a GUI.

In the SQL Server Management Studio, execute the following statement.

use master
go
sp_configure 'show advanced options',1
go
reconfigure with override
go
sp_configure 'Database Mail XPs',1
--go
--sp_configure 'SQL Mail XPs',0
go
reconfigure
go

Alternatively, you could use the SQL Server Surface area configuration. Refer Fig 1.0.


Fig 1.0

Step 2

The Configuration Component Database account can be enabled by using the sysmail_add_account procedure. In this article, we are going create the account, 'MyMailAccount,' using mail.optonline.net as the mail server and

makclaire@optimumonline.net as the e-mail account.

Please execute the statement below.

EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'MyMailAccount',
@description = 'Mail account for Database Mail',
@email_address = 'makclaire@optonline.net',
@display_name = 'MyAccount',
@username='makclaire@optonline.net',
@password='abc123',
@mailserver_name = 'mail.optonline.net'

Step 3

The second sub component of the configuration requires us to create a Mail profile.

In this article, we are going to create 'MyMailProfile' using the sysmail_add_profile procedure to create a Database Mail profile.

Please execute the statement below.

EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'MyMailProfile',
@description = 'Profile used for database mail'

Step 4

Now execute the sysmail_add_profileaccount procedure, to add the Database Mail account we created in step 2, to the Database Mail profile you created in step 3.

Please execute the statement below.

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'MyMailProfile',
@account_name = 'MyMailAccount',
@sequence_number = 1

Step 5

Use the sysmail_add_principalprofile procedure to grant the Database Mail profile access to the msdb public database role and to make the profile the default Database Mail profile.

Please execute the statement below.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'MyMailProfile',
@principal_name = 'public',
@is_default = 1 ;

Step 6

Now let us send a test email from SQL Server.

Please execute the statement below.

declare @body1 varchar(100)
set @body1 = 'Server :'+@@servername+ ' My First Database Email '
EXEC msdb.dbo.sp_send_dbmail @recipients='mak_999@yahoo.com',
@subject = 'My Mail Test',
@body = @body1,
@body_format = 'HTML' ;

You will get the message shown in Fig 1.1.


Fig 1.1

Moreover, in a few moments you will receive the email message shown in Fig 1.2.


Fig 1.2

You may get the error message below, if you haven't run the SQL statements from step 1.

Msg 15281, Level 16, State 1, Procedure sp_send_dbmail, Line 0
SQL Server blocked access to procedure 'dbo.sp_send_dbmail' of
component 'Database Mail XPs' because this component is turned off as part of
the security configuration for this server. A system administrator can enable
the use of 'Database Mail XPs' by using sp_configure. For more information
about enabling 'Database Mail XPs', see 'Surface Area Configuration'
in SQL Server Books Online.

You may see this in the database mail log if port 25 is blocked. Refer Fig 1.3.


Fig 1.3

Please make sure port 25 is not blocked by a firewall or anti virus software etc. Refer Fig 1.4.


Fig 1.4

Step 7

You can check the configuration of the Database Mail profile and account using SQL Server Management Studio by right clicking Database Mail [Refer Fig 1.5] and clicking the Configuration. [Refer Fig 1.6]


Fig 1.5


Fig 1.6

Step 8

The log related to Database Mail can be viewed by executing the statement below. Refer Fig 1.7.

SELECT * FROM msdb.dbo.sysmail_event_log


Fig 1.7
Conclusion

This article has demonstrated step-by-step instructions, with illustrations, how to configure Database Mail and send email from SQL Server."

2009/11/06

CodeProject: Removing HTML from the text in ASP. Free source code and programming help

CodeProject: Removing HTML from the text in ASP. Free source code and programming help:
"Function RemoveHTML( strText ) Dim TAGLIST TAGLIST = ';!--;!DOCTYPE;A;ACRONYM;ADDRESS;APPLET;AREA;B;BASE;BASEFONT;' &_ 'BGSOUND;BIG;BLOCKQUOTE;BODY;BR;BUTTON;CAPTION;CENTER;CITE;CODE;' &_ 'COL;COLGROUP;COMMENT;DD;DEL;DFN;DIR;DIV;DL;DT;EM;EMBED;FIELDSET;' &_ 'FONT;FORM;FRAME;FRAMESET;HEAD;H1;H2;H3;H4;H5;H6;HR;HTML;I;IFRAME;IMG;' &_ 'INPUT;INS;ISINDEX;KBD;LABEL;LAYER;LAGEND;LI;LINK;LISTING;MAP;MARQUEE;' &_ 'MENU;META;NOBR;NOFRAMES;NOSCRIPT;OBJECT;OL;OPTION;P;PARAM;PLAINTEXT;' &_ 'PRE;Q;S;SAMP;SCRIPT;SELECT;SMALL;SPAN;STRIKE;STRONG;STYLE;SUB;SUP;' &_ 'TABLE;TBODY;TD;TEXTAREA;TFOOT;TH;THEAD;TITLE;TR;TT;U;UL;VAR;WBR;XMP;' Const BLOCKTAGLIST = ';APPLET;EMBED;FRAMESET;HEAD;NOFRAMES;NOSCRIPT;OBJECT;SCRIPT;STYLE;' Dim nPos1 Dim nPos2 Dim nPos3 Dim strResult Dim strTagName Dim bRemove Dim bSearchForBlock nPos1 = InStr(strText, '<') Do While nPos1 > 0 nPos2 = InStr(nPos1 + 1, strText, '>') If nPos2 > 0 Then strTagName = Mid(strText, nPos1 + 1, nPos2 - nPos1 - 1) strTagName = Replace(Replace(strTagName, vbCr, ' '), vbLf, ' ') nPos3 = InStr(strTagName, ' ') If nPos3 > 0 Then strTagName = Left(strTagName, nPos3 - 1) End If If Left(strTagName, 1) = '/' Then strTagName = Mid(strTagName, 2) bSearchForBlock = False Else bSearchForBlock = True End If If InStr(1, TAGLIST, ';' & strTagName & ';', vbTextCompare) > 0 Then bRemove = True If bSearchForBlock Then If InStr(1, BLOCKTAGLIST, ';' & strTagName & ';', vbTextCompare) > 0 Then nPos2 = Len(strText) nPos3 = InStr(nPos1 + 1, strText, '</' & strTagName, vbTextCompare) If nPos3 > 0 Then nPos3 = InStr(nPos3 + 1, strText, '>') End If If nPos3 > 0 Then nPos2 = nPos3 End If End If End If Else bRemove = False End If If bRemove Then strResult = strResult & Left(strText, nPos1 - 1) strText = Mid(strText, nPos2 + 1) Else strResult = strResult & Left(strText, nPos1) strText = Mid(strText, nPos1 + 1) End If Else strResult = strResult & strText strText = '' End If nPos1 = InStr(strText, '<') Loop strResult = strResult & strText RemoveHTML = strResult End Function"

'error handling easy... (Try-Catch for VB)

'error handling easy... (Try-Catch for VB): "VBScript example:

Option Explicit

Dim nTest

With New Try: On Error Resume Next
nTest = 1 / 0 'Division by zero
.Catch: On Error GoTo 0: Select Case .Number
Case 11
MsgBox .Description
End Select: End With


Class Try '*** programmed by Robert Einhorn, Budapest, 2008 ***
Private mstrDescription
Private mlngHelpContext
Private mstrHelpFile
Private mlngNumber
Private mstrSource

Public Sub Catch()
mstrDescription = Err.Description
mlngHelpContext = Err.HelpContext
mstrHelpFile = Err.HelpFile
mlngNumber = Err.Number
mstrSource = Err.Source
End Sub

Public Property Get Source()
Source = mstrSource
End Property

Public Property Get Number()
Number = mlngNumber
End Property

Public Property Get HelpFile()
HelpFile = mstrHelpFile
End Property

Public Property Get HelpContext()
HelpContext = mlngHelpContext
End Property

Public Property Get Description()
Description = mstrDescription
End Property
End Class"

追蹤者

關於我

提供香港新界大埔區中、小學和幼兒園褓母車接送及機場接載服務。歡迎來電查詢!