emodal contact phone number

convert milliseconds to seconds in sql server

Some down-level clients do not support the time, date, datetime2 and datetimeoffset data types. Required fields are marked *. In this case, I chose milliseconds as the input for several reasons: Milliseconds are the lowest common denominator for time measurement in SQL Server, so the conversion process is always the same. This is the ratio of CPU time used by that query per second. Adding EV Charger (100A) in secondary panel (100A) fed off main (200A). Rows: The number of returned rows. There is no issues doing this. The following code shows the results of converting a date value to a datetime value. Azure SQL Database 00:00:00.0000000 through 23:59:59.9999999 (00:00:00.000 through 23:59:59.999 for Informatica). 565), Improving the copy in the close modal and post notices - 2023 edition, New blog post from our CEO Prashanth: Community is the future of AI, Convert datetime stored as char the YYYMMDDHHmmSS format to datetime, Understanding datetime formats in SQL Server. When the fractional seconds precision of the datetime2(n) value is greater than the time(n) value, the value will be rounded up to fit. Hours : Minutes : Seconds . i have a bigint field in Microsoft SQL Server 2008R2 filled with ticks (A single tick represents one hundred nanoseconds or one ten-millionth of a second. This section describes what occurs when a time data type is converted to other date and time data types. Comments left by any independent reader are the sole responsibility of that person. To subscribe to this RSS feed, copy and paste this URL into your RSS reader. I read the MSDN Documentation but didn't get any wiser. Asking for help, clarification, or responding to other answers. Conversions from string literals to date and time types are permitted if all parts of the strings are in valid formats. Site design / logo 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA. Content Discovery initiative April 13 update: Related questions using a Review our technical responses for the 2023 Developer Survey, How to return only the Date from a SQL Server DateTime datatype, How to check if a column exists in a SQL Server table, LEFT JOIN vs. LEFT OUTER JOIN in SQL Server. Convert Varchar To Datetime and Add Seconds, Folder's list view has different sized fonts in different folders. Site design / logo 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA. . Today for some reporting purpose I need to convert milliseconds to hh:mm:ss.ms format, i.e. Dirceu, good afternoon! 2135. . Very Important crosS Applying yaK Herder, ashishashish Enter your email address to subscribe to this blog and receive notifications of new publications by email. Example. How do I UPDATE from a SELECT in SQL Server? Browse other questions tagged, Where developers & technologists share private knowledge with coworkers, Reach developers & technologists worldwide, How a top-ranked engineering school reimagined CS curriculum (Ep. When the conversion is from date, the year, month, and day are copied. The reason you're seeing 1000 in this result set could be because that query used . Why the obscure but specific description of Jane Doe II in the original complaint for Westenbroek v. Kappa Kappa Gamma Fraternity? To subscribe to this RSS feed, copy and paste this URL into your RSS reader. You can also convert milliseconds to date & time and the other way around. Note this script will work in sql Server 2008 and above as here I am using TIME datatype and SYSDATETIME() functions which were introduced in Sql Server 2008. We've got lots of great SQL Server MS SQL Consultants: Note that this code will not work if you declare @d as DATETIME or . Today for some reporting purpose I need to convert milliseconds to hh:mm:ss.ms format, i.e. The TIME part of the input string is used. "Signpost" puzzle from Tatham's collection, Finding the distance from a corner of a cube to the midpoint of an edge. Rounding milliseconds SQL Server 2000. I want to convert microseconds in to seconds in SQL Server. Embedded hyperlinks in a thesis or research paper. The default string literal format (used for down-level client) will align with the SQL standard form, which is defined as hh:mm:ss[.nnnnnnn]. To subscribe to this RSS feed, copy and paste this URL into your RSS reader. Can corresponding author withdraw a paper after it has accepted without permission/acceptance of first author, Identify blue/translucent jelly-like animal on beach. When the fractional seconds precision of the time(n) value is greater than the precision of the datetimeoffset(n) value, the value is rounded up to fit. PowerAlerts The best SQL Server monitoring and alerting system you've ever seen! Required fields are marked *. ', referring to the nuclear power plant in Ignalina, mean? How do the interferometers on the drag-free satellite LISA receive power without altering their geodesic trajectory? Short story about swapping bodies as a job; the person who hires the main character misuses his body, Finding the distance from a corner of a cube to the midpoint of an edge. I want to convert this value to the corresponding "hh:mm:ss" format. Connect and share knowledge within a single location that is structured and easy to search. Informatica information is provided for PDW customers using the Informatica Connector. but, I have to tell you, unless it's for output to a file, you shouldn't do this type of formatting in T-SQL especially breaking it into separate columns. By clicking Accept all cookies, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy. Is a downhill scooter lighter than a downhill MTB with same performance? The hour value of 0 represents the hour after midnight (AM), regardless of whether AM is specified. Borrowing @gbn's guesses on table/column names, here are a couple of different approaches that don't require constant maintenance. Genesis & History. Is it safe to publish research papers in cooperation with Russian academics? Text: The text of the current statement being run. Image of minimal degree representation of quasisimple group unique up to conjugacy. What do hollow blue circles with a dot mean on the World Map? I know the OP's only asking about "time" durations, but for what it's worth, the pattern in @Lingo's solution scales better to durations >= 1 day than @t-clausen.dk's, because DateDiff returns an Int, which means it tops out at ~24 days worth of milliseconds and ~67 yrs. Specifies the number of digits for the fractional part of the seconds. The seconds and fractional seconds are set to 0. In the example above, a query has been running for 4 minutes (240 s), which only returned 1 row, so it needs to be looked at. Would My Planets Blue Sun Kill Earth-Life? Is it safe to publish research papers in cooperation with Russian academics? SQL Error - "SELECT TOP 100" throws error in SparkSQL - what's the correct syntax? 8 positions minimum (hh:mm:ss) to 16 maximum (hh:mm:ss.nnnnnnn). HOUR part of the DateTime in Sql Server The following example shows the results of converting a time(4) value to a datetimeoffset(3) type. This section describes what occurs when other date and time data types are converted to the datetime data type. These last few days I'm a little out of time, but to keep up with updating here I will do another quick post demonstrating how to convert milliseconds, seconds or minutes to TIME in SQL Server. For accuracy and official reference refer to MS Books On Line and/or MSDN/TechNet. Convert a Unix timestamp to time in JavaScript. What differentiates living as mere roommates from living in a marriage-like relationship? There is a bug that aggregates the time in a parallel operation. Should I re-do this cinched PEX connection? The contents of this blog/website are not intended to defame, purge or humiliate anyone should they decide to act upon or reuse any information provided by me. This format resembles the ISO 8601 definition for TIME excluding fractional seconds. By clicking Post Your Answer, you agree to our terms of service, privacy policy and cookie policy. I thought if I can convert it to longs, it would make it easier to do group by queries over time periods, as I could just divide the long number by fixed amounts. Implicit conversions or explicit conversions that do not specify a style, from date and time types to string literals will be in the default format of the current session. If you by chance are using sql 2008this works great for this format hh:mi:ss:mmm, select convert(char(12),(convert(time,Dateadd(ms,Duration,0),114))) as 'Duration (hh:mi:ss:mmm)'. Given below is the simple script to convert itwithout doing any divisions and remainders,using only built-in SQL functionsDateAdd,DatePart,DateDiff, Result In SQL Server 2008, I have the below column of type DateTime in a table. . Applies to: Reset identity seed after deleting records in SQL Server, Folder's list view has different sized fonts in different folders, User without create permission can create a custom object from Managed package using Custom Rest API. Step 3: Add the "Time" (ms) to the Date. Making statements based on opinion; back them up with references or personal experience. Improves MS SQL Database Performance, declare @s int = @ms/1000 -- time in seconds (rounded), decare @min int = @s/60 -- time in minutes (rounded), For every expert, there is an equal and opposite expert. 565), Improving the copy in the close modal and post notices - 2023 edition, New blog post from our CEO Prashanth: Community is the future of AI. This site provides the current time in milliseconds elapsed since the UNIX epoch (Jan 1, 1970) as well as in other common formats including local / UTC time comparisons. Arithmetic overflow error converting expression to data type int. hh is two digits, ranging from 0 to 23, that represent the hour. Even in SQL Server 2000, the server reported both duration and CPU time in . If the conversion is to datetimeoffset(n), the date is set to '1900-01-01', and the time is copied. document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() ); Enter your email address to follow this blog and receive notifications of new posts by email. The third column shows the value that will be stored in the database table column. Any fractional seconds precision value will cause the INSERT statement to fail. Not the answer you're looking for? Did the drapes in old theatres actually say "ASBESTOS" on them? When only the hour is specified, all other values are 0. How to get Time from DateTime format in SQL? how do i convert milliseconds to seconds or minutes. Folder's list view has different sized fonts in different folders. Enter your email address to follow this blog and receive notifications of new posts by email. The following example shows the results of converting a time(4) value to a datetime2(2) value. Please start any new threads on our new The opinions expressed here represent my own and not those of my employer. Micro-Seconds So, I tried to create query below, of course by taking help from internet, so that I can have a sample code handy for future reference: SQL with Manoj. Recently, I received a request inquiring how to convert Milliseconds to Days, Hours, Minutes, Seconds & Milliseconds. (No one specified in question, and DATEPART is product specific), I know the OP's only asking about "time" durations, but for what it's worth, the pattern in @Lingo's solution scales better to durations >= 1 day than @t-clausen.dk's, because, How a top-ranked engineering school reimagined CS curriculum (Ep. Not the answer you're looking for? The best answers are voted up and rise to the top, Not the answer you're looking for? It's a matter of cast and string concat if you actually want the result in textual form. http://sqlblog.com/blogs/uri_dimant/ SQL Server lacks an interval data type. 565), Improving the copy in the close modal and post notices - 2023 edition, New blog post from our CEO Prashanth: Community is the future of AI. Create a free website or blog at WordPress.com. Stack Exchange network consists of 181 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers. Simple deform modifier is deforming my object. How do the interferometers on the drag-free satellite LISA receive power without altering their geodesic trajectory? You pay the cost of computation at query time, which is the same as a non-persisted computed column. The following example compares the results of casting a string to each date and time data type. My employer do not endorse any tools, applications, books, or concepts mentioned on the blog. If the fractional seconds precision exceeds the value specified for the column, the string will be truncated without error. and i need to convert the sum of all records to Days:Hours:Minutes:Seconds:Milliseconds. The following table shows the type mapping between an up-level instance of SQL Server and down-level clients. "Signpost" puzzle from Tatham's collection. How do I UPDATE from a SELECT in SQL Server? 3 Input when you convert to datetime; output when you convert to character data.. 4 Designed for XML use. What does 'They're at four. Certainly, you shouldn't store the data that way. To learn more, see our tips on writing great answers. Login to reply. Time to put both the "Time" and the "Date" parts together. Does the order of validations and MAC with clear text matter? For calculating the time difference, directly subtract two dates from each other as, kshitij kumarkshitij@krayknot.comwww.krayknot.com. Hopefully you are using stored procedures for data access so you aren't repeating this often. What does 'They're at four. Syntax error near VARCHAR(2)),2), :, RIGHT(0 + CAST(((avg(up.modified-up.created))%(100 at line 5. Ubuntu won't accept my choice of password, User without create permission can create a custom object from Managed package using Custom Rest API. UPDATE MyTable SET NewIntColumn = DATEDIFF (SECOND, '19000101', MyDateTimeColumn) 19000101 is the SQL Server epoch. The following code shows the results of converting a time(4) value to a smalldatetime value. Is "I didn't think it was serious" usually a good defence against "duty to rescue"? Making statements based on opinion; back them up with references or personal experience. Azure Synapse Analytics SELECT CONVERT(TIME,DATEADD (ms, @YOURMILLISECONDS, 0)), SELECT Seconds = ((@YOURMILLISECONDS% (1000*60*60)) % (1000*60)) / 1000, Best Regards,Uri Dimant SQL Server MVP, Content Discovery initiative April 13 update: Related questions using a Review our technical responses for the 2023 Developer Survey, Add a column with a default value to an existing table in SQL Server, How to concatenate text from multiple rows into a single text string in SQL Server. Here is an example, grabbing the current time into a variable, and then adding one millisecond to it and saving the result as a second variable, and then printing each . rev2023.5.1.43405. To subscribe to this RSS feed, copy and paste this URL into your RSS reader. Making statements based on opinion; back them up with references or personal experience. There are 10,000 ticks in a millisecond. For conversion from datetime or smalldatetime to character data, see the previous table for the output format.. 5 Hijri is a calendar system with several variations. To summarize, we have a formula to extract and convert "Whole" days to "Whole" dates . And if your total duration goes above 1 day, you can use this to get the days and hr:min:sec:ms separately. SQL Server and Azure SQL: How to delete or update data in large tables, Microsoft Azure Data Fundamentals DP-900 Exam Free Certification Exam Study Material, Azure Data Factory (ADF) - How to change the Service Objective and resize an Azure SQL Database using T-SQL commands, SQL Server - Implementing access control and audit logs when using the CLR (C #), stpSecurity_Checklist - Best practices and security checklist for SQL Server, SQL Server - How to Install the Microsoft.ACE.OLEDB.12.0 and Microsoft.Jet.OLEDB.4.0 Drivers. SQL Server (@milli - (((@milli)/60000)*60000)) /1000 as seconds, @milli-(((@milli)/1000)*1000) as milliseconds, SELECT CONVERT (CHAR(13), DATEADD (ms, @ms, '01/01/00'), 14), Obviously this would be the maximum number that it would show after this you would need to handle days - Remember that milliseconds are displayed and rounded to 1/300 of a second, ,(@Mili%(1000*60*60))/(1000*60)as Minutes, ,((@Mili%(1000*60*60))%(1000*60))/1000 as Seconds, ,((@Mili%(1000*60*60))%(1000*60))%1000 as MiliSecs. By clicking Post Your Answer, you agree to our terms of service, privacy policy and cookie policy. Interpreting non-statistically significant results: Do we have "no evidence" or "insufficient evidence" to reject the null? What is the symbol (which looks similar to an equals sign) called? document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() ); This site uses Akismet to reduce spam. To comply with ISO 8601, use 24-hour format, not AM or PM. I have this time-duration: 00:00:23.323 When the fractional seconds precision of the time(n) value is greater than three digits, the datetime result will be truncated. Why the obscure but specific description of Jane Doe II in the original complaint for Westenbroek v. Kappa Kappa Gamma Fraternity? DECLARE @ d DATETIME2(3) = GETDATE () -- Expression extracts last 3 digits expecting milliseconds SELECT CAST (RIGHT( CAST (@ d AS VARCHAR), 3) AS INTEGER) AS ms. Image of minimal degree representation of quasisimple group unique up to conjugacy. Visit Microsoft Q&A to post new questions. Content Discovery initiative April 13 update: Related questions using a Review our technical responses for the 2023 Developer Survey, SQL: Convert duration in microseconds to DD:HH:MM:SS, Convert microsecond timestamp into day hour minute for google cluster traces in mysql, SQL Server : select column and do regex on it. Are there any canonical examples of the Prime Directive being broken that aren't shown on screen? Is it against normal form to include columns with date parts if there is a datetime column in the same table? To learn more, see our tips on writing great answers. From the above column, I want to select the datetime and round off the milliseconds, in order to get the below output. Using hour 24 to represent midnight and leap second over 59 as defined by ISO 8601 (5.3.2 and 5.3) are not supported to be backward compatible and consistent with the existing date and time types. SELECT CONVERT(VARCHAR(10),DATEDIFF(hh,0,@EndDate-@StartDate)) --Converts the hours, +RIGHT(CONVERT(CHAR(8),@EndDate-@StartDate,108),6) --Converts mins & secs. of seconds.DateDiff_Big (which returns a BigInt) is not available prior to SQL Server 2016. The time component is set to 00:00:00.000. the Allied commanders were appalled to learn that 300 glider troops had drowned at sea, xcolor: How to get the complementary color, Passing negative parameters to a wolframscript, Folder's list view has different sized fonts in different folders. When the conversion is to smalldatetime, the date is set to '1900-01-01', and the hour and minute values are rounded up. MS SQL optimization: MS SQL Development and Optimization What is Wario dropping at the end of Super Mario Land 2 and why? These last few days I'm a little out of time, but to keep up with updating here I will do another quick post demonstrating how to convert milliseconds, seconds or minutes to TIME in SQL Server. More actions . SELECT CONVERT(CHAR(12),@EndDate-@StartDate,114). In the example above, the expression converts datetime value to string and extracts last digits (millisecons). 1 Day(s) 1 Hour(s) 20 Minute(s) 34 Second(s) 567 milliseconds(s), Your email address will not be published. When the destination precision is less than the source precision, the fractional seconds is rounded up to fit the destination precision. When fractional seconds precision is not specified, each position that is defined by the data type is 0. For Informatica, the maximum is 12 (hh:mm:ss.nnn). I have documented my personal experience on this blog. Internally to SQL Server in this DMV (sys.dm_exec_query_stats) CPU time is measured in microseconds and the report is pulling the usage per second.However, the ms in the report is in milliseconds for the Activity Monitor and microsecond would be mcs.. DBA SQL Server and BI Analyst (PowerBI, SSAS, SSIS, SSRS). Try again later. Micro-Seconds. Finding the distance from a corner of a cube to the midpoint of an edge. SQL SERVER Shorter way to convert Milliseconds to Days, Hours, Minutes, Seconds & Milliseconds, Shorter way to convert Seconds to Days, Hours, Minutes, Seconds, SQL Server How to check weather of any location using API, SQL Server Fix Error This backend version is not supported to design database diagrams or tables, SQL Server How to translate text from one language to another using google translate, SQL Server How to compare files in SQL Server Management Studio (SSMS), SQL Server How to truncate database log file, Data Definition Language (DDL) Statements. Site design / logo 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA. like this. In SQL Server 2008, I have the below column of type DateTime in a table. To learn more, see our tips on writing great answers. The total_elapsed_time will be correct for a particular parallel query in a batch until it moves on to the next statement in the batch, then the total_elapsed_time will explode by the DOP.. Is there any known 80-bit collision attack? What is this brick with a round back and a stud on the side used for? Using DMV-sys.dm_exec_query_stats to validate CPU utilization time for running queries I would like to convert the min_worker_time field that is reported to MICROSECONDS as per the documentation with your script provided above, however, I realize the time for some queries If the CPU time is above acceptable, can I convert microseconds like this as below? Your email address will not be published. Given below is the simple script to convert it without doing any divisions and remainders, using only built-in SQL functions DateAdd, DatePart, DateDiff--This script will work on SQL Server 2005 and above. Find centralized, trusted content and collaborate around the technologies you use most. The following table shows the rules for converting a string literal to the time data type. This forum has migrated to Microsoft Q&A. What is a good way to create a new column that represents the long value for the datetime column? Short story about swapping bodies as a job; the person who hires the main character misuses his body. Learn more about Stack Overflow the company, and our products. DATETIME is used to store an instant ("point in time") at a particular granularity (approx 300 milliseconds IIRC). By clicking Accept all cookies, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy. As CPU is in milliseconds.From the beginning with SQL Server 2005, the server reports the duration of an event in microseconds (one millionth, or 10-6 of a second) and the amount of CPU time used by the event in milliseconds (one thousandth, or 10-3 of a second). While both are temporal data they have quite different requirements. The following example shows the results of converting a time(4) value to a time(3) value. declare @s int = @ms/1000 -- time in seconds (rounded) decare @min int = @s/60 -- time in minutes (rounded) For every expert, there is an equal and opposite expert. Otherwise, a runtime error is raised. Often in our routines, especially when we create routine execution logs measuring the time taken to process, we have to store these records in a TIME field or a string that simulates the behavior of the TIME data type (Ex: 00: 01: 08.57800). Combine multiple ROWS to CSV String and vice-versa. Why are players required to record the moves in World Championship Classical games? Viewing 13 posts - 1 through 12 (of 12 total), You must be logged in to reply to this topic. This is fixed in 2014. Asking for help, clarification, or responding to other answers. Should you identify any content that is harmful, malicious, sensitive or unnecessary, please contact me via email (imran@raresql.com) so I may rectify the problem. How to calculate age in T-SQL with years, months, days, hours, minutes, seconds and milliseconds, SQL server, Converting Seconds to Minutes, Hours, Days, Date difference formatted in Days Hours Minutes Seconds, Convert seconds to hours: minutes: seconds, SQL Convert Milliseconds to Days, Hours, Minutes, Convert hours,minutes to days,hours,minutes, Converting Minutes Column to Days, Hours and Minutes SQL. 565), Improving the copy in the close modal and post notices - 2023 edition, New blog post from our CEO Prashanth: Community is the future of AI. When converting to datetime2(n), the date is set to '1900-01-01', the time component is copied, and the time zone offset is set to 00:00. Convert a datetime column to number of seconds, How a top-ranked engineering school reimagined CS curriculum (Ep. I am currently trying to convert SQL server (2008 R2 and 2012) audit logs from .sqlaudit file to csv/json/txt via PowerShell sqlcmd command. The long would represent a number of seconds. In my SQL Server database, I have a datetime column. The following table shows the type mapping between an up-level instance of SQL Server and down-level clients. Thanks for contributing an answer to Stack Overflow! You're a star SSC Rookie, completely overlooked the TIME data type. Large scale of database and data cleansing In (Som, Ni, Yak), Hi AllI want to convert microseconds in to seconds in SQL Server.Specifically i want to convert, just multiply by POWER(10,6) to convert to seconds. rev2023.5.1.43405. You can add a new column and manually update it as @gbn suggested, but now you have to constantly keep this column up to date with insert/update triggers or some other mechanism. You can add a new column and manually update it as @gbn suggested, but now you have to constantly keep this column up to date with insert/update triggers or some other mechanism. in milliseconds. Specifically i want to convert total_elapsed_time,last_elapsed_time,min_elapsed_time,max_elapsed_time these columns in seconds from sys.dm_exec_query_stats. It's a matter of cast and string concat if you . Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. The following code shows the results of converting a time(4) value to a datetime value. rev2023.5.1.43405. For this reason, I decided to create this post to help with this question. Constraint Violating Yak Guru, visakh16 100 nanoseconds (1 millisecond in Informatica). One benefit of a view over a new column is that you don't have to change the base table schema (or worry about keeping it up to date). MS SQL Blog: When you convert to date and time data types, SQL Server rejects all values it cannot recognize as dates or times. SELECT CONVERT (TIME, DATEADD (ms, SUM (duration/10000 % 1000), DATEADD (ss, SUM (duration/10000000), 0))) FROM tblMediaFileProperties. The value you wish to store is an interval (or is it a duration?) PM cannot be specified when the hour equals 0. hh is two digits, ranging from 0 to 23, that represent the number of hours in the time zone offset. Can you still use Commanders Strike if the only attack available to forego is an attack against an ally? Which reverse polarity protection is better and why? 6 For a milliseconds (mmm) value of 0, the millisecond decimal fraction value won't . If you only want second precision you could divide the number by 1000 to get seconds, and by 86400 to get a fraction of a day, then add that to midnight on any nominal date - and convert the result to a string: select to_char (date '1970-01-01' + (21649000/86400000), 'HH24:MI:SS') as time from dual; TIME -------- 06:00:49 select to_char . When the conversion is to time(n), the hour, minute, and seconds are copied. (@milli - ((@milli/3600000)*3600000))/60000 as minutes. All Rights Reserved. Two MacBook Pro with same model number (A1286) but different year, Short story about swapping bodies as a job; the person who hires the main character misuses his body, Copy the n-largest files from a certain directory to the current one. Constraint Violating Yak Guru, khtan Any second precision longer than three positions will cause the INSERT statement to fail. . Making statements based on opinion; back them up with references or personal experience. The time zone offset is set to +00:00. My blog, Large scale of database and data cleansing. i have two dates from that i have taken milli seconds using datediff.now i want to display total hours,minutes,sec,millisec in that milli seconds. Click to share on Twitter (Opens in new window), Click to share on Facebook (Opens in new window), Click to share on LinkedIn (Opens in new window), Click to share on Tumblr (Opens in new window), Click to share on Reddit (Opens in new window).

Essential Worker Premium Pay California, Mahmoud Darwish Do You Love Her To Death Poem, Articles C

convert milliseconds to seconds in sql server