SELECT * FROM table name
Order BY Convert (int,left (column name, CHARINDEX ('. ', column name + '. ') -1) ASC, column name ASC
CHARINDEX ('. ', column name) query first. (dot) in the number of
CHARINDEX ('. ', column name + '. ') Give no data to the last side Add. (points) This allows the first digit to be found without a decimal point.
Left (column name, CHARINDEX ('. ', column name)) Query decimal value
Left (column name, CHARINDEX ('. ', column name + '. ')) Add one after all values.
Left (column name, CHARINDEX ('. ', column name + '. ') -1) Decrease after the value of the query one is to give back the point.
Convert (Int,left (column name, CHARINDEX ('. ', column name + '. ') -1) Take the value before the first decimal point to the INT type
Convert (Int,left (column name, CHARINDEX ('. ', column name + '. ') -1) ASC takes the value before the decimal point to the int type to be sorted (but now the sort is a bit inaccurate)
Convert (Int,left (column name, CHARINDEX ('. ', column name + '. ') -1) ASC, listing ASC so you can use the column name ASC in the back row.
The sort method of a value similar to 1.1.1.1 in SQL Server varchar data