Wednesday, April 8, 2009

Visual Studio 2008: How to add a command line argument in debug mode

Right click on your project -> choose properties -> Debug tab

under 'Start Options' there should be a text box called 'Command line arguments'

Now just type your arguments there like you would at the command line.

example:
command line: program.exe my_argument my_2nd_argument

in the box you would just type: my_argument my_2nd_argument

Wednesday, April 1, 2009

SQL: 24hr Pivot

this is a little sample of how to pivot data in the form of
names|values|hours
a|1|12
a|9.1|13
b|2.5|12
b|3.6|13

and change it to:
names|12|13
a|1|9.1
b|2.5|3.6

SELECT * FROM (
SELECT names,Hours, Values
FROM aTable a
WHERE a.names IN ('a','b')
) p

PIVOT (
SUM(values) FOR [hours] IN ([0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23])

) AS pvt

Friday, March 20, 2009

SQL: Randomly Select One Record from Multiple Categories

This query will randomly select one record from multiple categories that you specify. First the inner select partitions the record set based on a specific field, then order's it randomly by using newid(). The outer select then selects the top row from each category (aka the partioned group). The top record is always random due ordering by newid().

SELECT * FROM (
SELECT
ROW_NUMBER() OVER(PARTITION BY a.Category ORDER BY newid()) AS RowNumber,
*
FROM Table a ) b
WHERE RowNumber = 1

Thursday, March 5, 2009

SQL: More Fun with Unpivot

takes a table like:
date 0 1 2 3 4 5
3/15 a b c d e f

and converts it to

3/15 12:00am a
3/15 1:00am b
3/15 2:00am c

and so on

SELECT dateadd(hour,cast(times AS int),date), cast(times AS int), value

FROM (SELECT date, [0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23]
FROM b) AS p
UNPIVOT (value FOR times IN ([0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23]
)) AS s

Thursday, January 8, 2009

@_variable_in

When declaring input variables to a stored procedure in MS SQL Server, it is sometimes beneficial to use

@_variable_in instead of @variable_in

WITH (NOLOCK)

Using the NOLOCK hint can speed up queries by allowing the query to not wait while other queries are writing to the table. The downside is that your query can read data that may get rolled back.

FROM table1 a WITH (NOLOCK)
JOIN table 2 b WITH (NOLOCK) ON a.field = b.field
JOIN table3 c WITH (NOLOCK) ON b.field= c.field
JOIN table4e WITH (NOLOCK)


More info: http://msdn.microsoft.com/en-us/library/ms187373.aspx

Tuesday, December 2, 2008

sql: easy datetime formatting to varchar

convert(varchar, FIELD_NAME, FORMAT_NUMBER_FROM_CHART)

http://msdn.microsoft.com/en-us/library/aa226054(SQL.80).aspx