i




 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Query get the largest ID number of the string ?
04-14-2017, 02:32 AM
Post: #1
Query get the largest ID number of the string ?
Suppose in SQL Server 2005 I have the TABTHUCHI data table has the following fields:
IDSOPHIEUTHUCHI // Primary Key
RIGHT
...

IDSOPHIEUTHUCHI NGAY
PC-04/08/16-008 04/08/2016
PC-07/06/2016-006 07/06/2016
PC-08/10/2017-010 08/10/2017
PC-08/12/2017-012 08/12/2017
PC-10/01/2015-2 10/01/2015
PC-25/09/2017-009 25/09/2017
PT-01/02/2015-001 01/02/2015
PT-03/11/17-011 03/11/2017
PT-05/04/2015-004 05/04/2015
PT-15/07/2016-07 15/07/2016
PT-20/05/2016-005 20/05/2016
PT-31/03/2015-003 31/03/2015

At the IDSOPHIEUTHUCHI field, you will see the letter "PT" or "PC", the year will be 2 characters or 4 characters and the last digit must be PT-(dd)/(MM)/(yyyy) - (***)
Use (*) is the incremental number generated by the system, the length is determined by the number of asterisks, a maximum of 9.
Example:
HD (**) includes 99 numbers running from HD01, HD02 to HD99.
HD (**) includes 999 numbers running from HD001, HD002 to HD999.
Use (MM) to get the current month.
Use (years) to retrieve the current year (last two digits of the year).
Use (yyyy) to get the current year (all 4 numbers).
Use (dd) to get the current date.

According to the above data, you want to get the largest ID of 2015 "PT". Find the last digit of 2015: PT-05/04/2015-004, the largest ID 2015 will be 005, and assume The largest ID number of this date is 14/04/2015 will be: PT-14/04/2015-005, when taking the largest number you must also note Year can be 2 digits or 4 digits and format input.
If the input format: PT-(dd)/(MM)/(yy)-(***) output: PT-14/04/15-005
If the input format: PT-(dd)/(MM)/(yyyy)-(*****) output: PT-14/04/2015-00005
If the input format: PT-(***) output: PT-005
Similar to other years for "PT" or "PC" and the largest ID date.

If the "PT" format of the above data:
If the input format: PT-(dd)/(MM)/(yyyy)-(***) and "14/04/2016", the output: PT-14/04/2016-008
If the input format: PT-(dd)/(MM)/(yyyy)-(***) and "14/04/2017", the output: PT-14/04/2017-012
If the input format: PT-(***) and "14/04/2017" is output PT-012

If the "PC" format of the above data:
If the input format: PC-(dd)/(MM)/(yyyy)-(***) and "14/04/2015" is output: PC-14/04/2015-003
If the input format: PC-(dd)/(MM)/(yyyy)-(**) and "14/04/2016" then output: PC-14/04/2016-09
If the input format: PC-(dd)/(MM)/(yy)-(***) and "14/04/2017" then output: PC-14/04/17-013

How can SQL Server retrieve the largest ID in string form as shown above ?


Quote


Possibly Related Threads...
Thread: Author Replies Views: Last Post
  Order number of datagridview ? dongtrien 0 859 11-30-2015 06:40 AM
Last Post: dongtrien
  Round decimal number and avoid trailing 0s nisar87 0 904 03-10-2014 08:03 AM
Last Post: nisar87
  Validate if a String contains any number nisar87 1 3,505 10-24-2011 03:03 PM
Last Post: sharath



User(s) browsing this thread: 1 Guest(s)