PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 10. ����ת�� | Fast Forward | Next |
�������õIJ���������������IJ����������ġ�
�����������ͽ���
�� pg_proc ϵͳ����ѡ��Ҫ���ǵĺ����� ���ʹ����δ�����ε����֣���ô����Ϊ�ú�������Щ�ڵ�ǰ����·���пɼ��ģ� ӵ����ȷ���ֺͲ��������ĺ��������� Section 5.8.3���� ���������һ�������εĺ���������ôֻ������������ģʽ�еĺ�����
���������·�����ҵ������������ͬ�IJ������ͣ� ��ôֻ���dz���������·����ǰ����Ǹ��������в�ͬ�������͵ĺ���������ͬ��̬�ȿ����� ����������������·���е�λ�á�
��һ���պý�����ȫһ�µ�����������͵ĺ����� ���������ôһ�����ڿ��ǵĺ������п���ֻ����һ��������֮�� ���漰�� unknown ���͵�������ڱ����費���ҵ��κ�ƥ�䡣��
���û���ҵ�ȷ��ƥ�䣬�����������Ƿ�������Ҫһ��������ת���� �����������ֻ��һ���������Һ�������ijЩ�������͵ģ��ڲ���������ͬ����ô�ͻ������������� ���⣬�ú����IJ���������һ��δ֪���͵��ı������������������Ͷ����Ƽ��ݡ����������Щ������ ��ú��������ڲ����κ�ʵ�ʺ������õ������ת��������������������͡�
�������ŵ�ƥ��
������Щ�������Ͳ�ƥ�䲢��Ҳ����ǿ��ת����ʹ������ת������ƥ��ĺ�ѡ�������� unknown �ı�����������±���Ϊ�ǿ���ת�����κζ��������ֻʣ��һ����ѡ���֮�� ���������һ����
�������к�ѡ������������Щ�����������������ȷƥ��ġ� �������ֳ���������Ϊ�����������һ������ ���û��һ����ȷƥ�䣬����ȫ���� ���ֻʣ��һ������֮�����������һ����
�������к�ѡ������������Щ�������Ҫ����ת���IJ���λ���Ͻ�����ѡ���͵ĺ����� ���û���ĸ���ѡ����������ѡ���ͣ�����ȫ���� ���ֻʣ��һ������֮�����������һ����
����κ����������unknown�����ʣ�µĺ�ѡ������Ӧ����λ�õ����ͱ� ����κκ�ѡ��������string���ͣ�������Щλ��ѡ string ���� �����������Ϊ string �Ǻ��ʵģ���Ϊ unknown �����ı�ȷʵ�� string���� �����������ʣ�µĺ�ѡ����������ͬ�����ͣ�ѡ������ͣ� �����׳�һ��������Ϊ��û�и��������������²��ܵ�����ȷ��ѡ�� ��������������ѡ�������ͱ�ĺ�ѡ������Ȼ�� ��������ѡ������ij�������IJ���λ�ý���һ����ѡ���ͣ� ��������Щ�ڸò���λ�ý��ܷ���ѡ���͵ĺ�ѡ������
���ֻʣ��һ����������֮�� ������г���һ���ĺ�ѡ��������û�к�ѡ�����������һ������
��ע�⣬"���ƥ��" ����Բ������ͶԺ��������ͷ�������һ���ġ� ������һЩ���ӡ�
Example 10-4. Բ�������������ͽ���
ֻ��һ��round��������������������һ��������numeric�� �ڶ����� integer������������IJ�ѯ�Զ��ѵ�һ������Ϊ integer �IJ���ת���� numeric��
SELECT round(4, 4); round -------- 4.0000 (1 row)
ʵ��������������ת���ɣ�
SELECT round(CAST (4 AS numeric), 4);
��Ϊ��С�������ֵ������ʼʱ������ numeric ���ͣ��������IJ�ѯ������Ҫ����ת�������ҿ��ܻ�����ЧһЩ��
SELECT round(4.0, 4);
Example 10-5. ���ִ��������ͽ���
�кü��� substr ����������һ���������� text �� integer�������һ��δ�������͵��ִ������������� ϵͳ��ѡ�������ѡ string���ͣ�Ҳ�������� text���ĺ�ѡ������
SELECT substr('1234', 3); substr -------- 34 (1 row)
������ַ�������Ϊ���� varchar�� ���������ӱ���ȡ��������һ���������������Ž���ת���� text��
SELECT substr(varchar '1234', 3); substr -------- 34 (1 row)
��������ת����ʵ���ϱ�ɣ�
SELECT substr(CAST(varchar '1234' AS text), 3); substr -------- 34 (1 row)
Note: ��������pg_cast���˽ text �� varchar �Ƕ����Ƽ��ݵģ� ��˼��˵����һ�����Դ��ݸ�һ����������һ���ĺ���������Ҫ���κ�����ת���� ��ˣ�����������£�ʵ����û�����κ���ȷ������ת����
���ң������ integerΪ�������ú���������������ͼ����ת���� text��
SELECT substr(1234, 3); substr -------- 34 (1 row)
ʵ����������ִ�е�
SELECT substr(CAST(1234 AS text), 3); substr -------- 34 (1 row)
�����Զ�ת���ܹ��ɹ�����Ϊ����һ���� integer �� text ������ת�����Ե��á�