September 7, 2011 at 4:04 pm
Trying to return current month as a char(2)
Ex - July would return '07'
I need two characters exactly ('07' instead of '7') so I figured I could append a leading '0' and then use the RIGHT() function to return the 2 end characters (see code below). Yet even with CAST or CONVERT, it's treating it like a numeric type and I'm losing the leading '0'.
select '0' + CONVERT(char(2), month(getdate()))
select '0' + CAST(month(getdate()) as char(2))
select RIGHT('0' + CONVERT(char(2), month(getdate())), 2)
select RIGHT('0' + CAST(month(getdate()) as char(2)), 2)
Any ideas?
TIA, JM
September 7, 2011 at 4:09 pm
Nevermind.
Solved:
RIGHT() is supposed to return varchar. The concatenation fails with char(2) but works when using varchar(3). I thought it would use it's own internal varchar variable to do the concatenation, but apparently not.
Works:
select RIGHT('0' + CONVERT(varchar(3), month(getdate())), 2)
select RIGHT('0' + CAST(month(getdate()) as varchar(3)), 2)
September 7, 2011 at 4:18 pm
Thanks for sharing.
FYI there is another way, which makes use of the US date format having month first:
select convert(char(2),getdate(),1)
MM
select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);
September 8, 2011 at 11:42 am
Even cleaner - Nice!
Thx MM
Viewing 4 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy