I want to write a statement something like this
SELECT Add_Date, File_No FROM dbo.File_Storage WHERE (File_No = 11/11/1234/)
But i want the search to ignore the first 2 digits so that it will return e.g
10/11/1234, 09/11/1234 so that it's only matching the last part
Any Help Would be greatly appreciated Thanks
try use Substring in SQL statement|||I'm not sure if you want this to just a straight up query or something dynamic
If you want it to be passed into a query, you can do
string criteria = "11/11/1234";
"SELECT ... (File_No = " + criteria.Remove( 0, 2) + ");
Use Parameterized query and not the exact example above.
If you want just a straight up query use LIKE
SELECT... (File_No LIKE '%/11/1234')
You can use something like this:
DECLARE
@.lcModifiedIDvarchar(10),@.liMaxFiedlLength
asint,@.liStartPoint
asintSET
@.liMaxFiedlLength= 100SET
@.liStartPoint= 4SET
@.lcModifiedID=substring('11/11/1234/',@.liStartPoint,@.liMaxFiedlLength)SELECT
Add_Date, File_NoFROM(SELECT'12/11/1234/' File_No,'aa'Add_date)aaWHEREsubstring(File_No,@.liStartPoint,@.liMaxFiedlLength)= @.lcModifiedID
Thanks
JPazgier
|||I Have a textBox named TextFile which is where the user enters the file number which will be in the format of 11/11/1234 and then there is a button with an on click event to trigger my SQL query
I have an SqlDataAdapter with the first parameter set as @.FileNo
I want the query based entirely on the the value of textBox
I am currently doing it like this
SELECT Add_Date, File_No FROM dbo.File_Storage WHERE (File_No = @.File_No)
But this only returns exact matches and as i say i need to return values that ignore the first 2 digits contained in @.File_No
Thanks for such a quick response
|||I am pretty sure you can change "File_No = @.File_No" to "File_No LIKE @.File_No"
Then when you declare the value of the parameter:
.Value = "%" + TextFile.Text.Remove( 0, 2);
Yes, you are right maybe it will work but remember that LIKE structure is very slow and designed for another purposes.
Thanks
JPazgier
No comments:
Post a Comment