#mysql #coldfusion #coldfusionbuilder
#mysql #coldfusion #coldfusionbuilder
Вопрос:
У меня есть отчет, который показывает первые четыре цифры SSN. Однако мне нужно пересмотреть отчет, чтобы показать последние четыре. Кажется, ничто из того, что я пробовал, не дает мне правильного результата. Я либо получаю ошибку в отчете, либо значения null.
ToString(Chr(45) amp; right(query.ssn1, 4))
Я ожидаю, что результат будет:
SSN Дональда Дака (123456789); Мне нужно, чтобы результат был (6789).
Тире не нужны.
Комментарии:
1. Учитывая строку типа «123456789», этот код
right("123456789", 4)
вернет только последние четыре символа данной строки. Какое значениеquery.ssn1
при получении значений error и null?2. Я думаю, что более важная проблема здесь заключается в следующем… почему вы храните полные SSN в БД?
3. Или, что еще лучше, используйте MySQL для запроса только последних 4 SSN (если вам не нужен полный SSN), чтобы ничто, кроме MySQL, не работало с этой частью данных. Также имейте в виду, что при работе с такими вещами, как SSN, могут возникнуть некоторые юридические проблемы, поэтому лучше никогда не позволять чему-либо затрагивать данные, в которых на самом деле нет необходимости.
4. Или, как сказал @fyroc, зачем хранить это для начала? И если вам нужно для вашего приложения, вы захотите 1) рассмотреть использование 2 столбцов базы данных для хранения первых 5 цифр в зашифрованном виде и последних 4 отдельно, и 2) серьезно взглянуть на политики хранения данных. Вы не можете случайно пропустить данные, которых у вас нет. :-/
5. @ChristinaClaflin Какую систему баз данных вы используете?
right(query.ssn,4)
должны быть возвращены 4 крайних правых символа вашей входной строки (query.ssn1
).query.ssn1
Возвращает более 4 цифр? Случайно, запрос уже возвращает только первые 4 цифры?